手机
当前位置:查字典教程网 >编程开发 >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语言中sizeof细节的三点分析介绍

浅析C语言中assert的用法

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

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

解决不用sizeof求出int大小的方法

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

浅析c++中new和delete的用法

浅析C语言中sscanf 的用法

解析C语言中位字段内存分配的问题

深入分析C++中两个大数相乘结果不正确的问题

精品推荐
分类导航