手机
当前位置:查字典教程网 >编程开发 >C语言 >解析一个有关sizeof用法的题目--sizeof(i++)
解析一个有关sizeof用法的题目--sizeof(i++)
摘要:复制代码代码如下:#includeintmain(){inti;i=10;printf("%dn",i);printf("%dn",size...

复制代码 代码如下:

#include <stdio.h>

int main()

{

int i;

i = 10;

printf("%dn", i);

printf("%dn", sizeof(i++));

printf("%dn", i);

return 0;

}

这三行输出应该是什么?

答案是:

10

4

10

第三个为什么不是11? i为什么没有自增?

请看C++标准;

5.3.3 sizeof

The sizeof operator yields the number of bytes in the object representation of its operand. The operand is either an expression, which is an unevaluated operand (Clause 5), or a parenthesized type-id.

也就是说,如果sizeof的操作数是一个表达式的话,这个表达式时不会被计算的。

sizeof当预处理看就行了,它后面括号里的东西,根本不求值,只根据C的一堆规则判断结果类型,然后返回结果类型的大小

另外一个操作符typeid也是如此。

【解析一个有关sizeof用法的题目--sizeof(i++)】相关文章:

解析C#中不一样的大小写转换

C++ clock()解析如何使用时钟计时的应用

深入分析C中不安全的sprintf与strcpy

解析C语言中如何正确使用const

非常经典的C语言趣味题目

解析在WTL下使用双缓冲的实现方法

浅析STL中的常用算法

解析如何用指针实现整型数据的加法

深入sizeof的使用详解

解析为何要关闭数据库连接,可不可以不关闭的问题详解

精品推荐
分类导航