手机
当前位置:查字典教程网 >编程开发 >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语言趣味题目

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

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

深入解析Linux下rn的问题

浅析C语言中sscanf 的用法

解析C/C++中如何终止线程的运行

深入解析C++中的引用类型

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

解析C++ 浮点数的格式化显示

浅析C++中模板的那点事

精品推荐
分类导航