sizeof(++i+ ++i)
来源:互联网 发布:南京秘硕软件 编辑:程序博客网 时间:2024/05/19 12:14
sizeof(++i+ ++i)
#include <stdio.h>
int main(char *argv[], int *argc)
{
int i=3;
int j;
j = sizeof(++i+ ++i);
printf("i=%d j=%d", i ,j);
}
上述程序,为什么打印出来的i=3呢, 我理解的是5
解答:
根据C99规范, sizeof是一个编译时刻就起效果的运算符,在其内的任何运算都没有意义,j = sizeof(++i+++i); 在编译的时候被翻译成 j=sizeof((++i+++i的数据类型)) 也就是 j = sizeof(int); 也就是 j= 4; (32bit系统,如果是16位系统,则j=2) 然后才会继续编译成最终的程序,当然在最终程序执行的时候,自然不会执行任何++i了。
转载:http://liushaozong4.blog.163.com/blog/static/685151122010926115825792/
- sizeof(i++)
- sizeof(++i+ ++i)
- sizeof(++i+ ++i)
- sizeof(++i+ ++i)
- sizeof(++i+ ++i)
- sizeof(i++),sizeof(fun())
- sizeof(++i) 结果
- sizeof(++i) 结果
- sizeof(i++)是多少?
- sizeif(i++).sizeof(++i) 的问题
- i++与++i的区别及sizeof的用法
- C语言之sizeof详解 eg: int i = 10; printf("sizeof(i++) is: %d\n",sizeof(++i));
- I
- I
- ++i
- I
- I
- i
- 使用ViewPage实现类launcher屏幕滑动
- jquery实现下拉框内容左右移动
- http://www.cnblogs.com/mcodec/articles/2122675.html
- 根据地球上任意两点的经纬度计算两点间的距离
- 比较字符串 考试
- sizeof(++i+ ++i)
- 调用函数 排序
- android 两个apk之间恭喜数据SharedPreferences
- oracle查询sql练习技巧(这个很实用,不是吹的)
- VMWare虚拟机Bridged类型网卡ping不通的原因和解决办法
- iphone单列模式(内存管理)
- prototype.js 让你更深入的了解javascript的面向对象特性
- 再谈javascript面向对象编程(javascript的两种继承方式)
- FileZilla FTP服务器源代码分析