语句 sizeof(3+printf(“ABC”));
什么不会输出ABC,具体从编译的角度讲解一下吧,谢谢
什么不会输出ABC,具体从编译的角度讲解一下吧,谢谢
解决方案
10
参考特性6:
特性6:当表达式作为sizeof的操作数时,它返回表达式的计算结果的类型大小,但是它不对表达式求值!
http://blog.csdn.net/hust_sheng/article/details/50537609
特性6:当表达式作为sizeof的操作数时,它返回表达式的计算结果的类型大小,但是它不对表达式求值!
http://blog.csdn.net/hust_sheng/article/details/50537609
5
本人反汇编,单步执行
i get
10
原因是sizeof不是函数,只是个关键字,编译时就确定了,所以不会调用函数
相似的 sizeof(++i) 也不会让i自加
相似的 sizeof(++i) 也不会让i自加
5
参考gcc源代码中sizeof的实现。