手机
当前位置:查字典教程网 >编程开发 >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++中的引用类型

浅析C语言中assert的用法

使用ShellClass获取文件属性详细信息的实现方法

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

深入解析C语言中常数的数据类型

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

浅析STL中的常用算法

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

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

精品推荐
分类导航