C中的++,请帮忙解释一下
int a=2;
int i;
i=(a++)+(++a)+(a++)+(++a)+(a++);
printf("%d",i);
结果是20,请解读
这已经不是月经贴了,谁统计过今天出现了几次…………
我撞墙
既然你见过很多,那你给一个地址我好吗?我去看就是了,不用撞墙。
哇,又是这种问题
这是未定义行为……
等于多少,这个要看编译喜欢怎么干……
此类问题,标准答案就是“不知道它会等于多少,它等于多少都有可能,都不违背标准,但是不应该写这样的代码”……
如果楼主想知道为什么在自己的机子上执行结果是20,请自行查看反汇编……
结果不确定,不同的编译器有不同的解读
如果我说是在VC下呢?
vc6可能跟vc7的结果不一样
vc7可能跟vc8的结果不一样
vc8可能跟vc9的结果不一样
vc9可能跟vc10的结果不一样
vc10的debug版可能跟vc10的release版不一样……
楼主想知道具体的为什么,请自行查看反汇编……
经典……
不就是要弄清楚:++i和i++ 的区别吗
可恶啊~~
要向版主们建议一下放个 FAQ 在置顶区……
我要是老板谁这么写程序立马扣工资~~
这个帖子有点怪~~~
相关问答:
在ue中从远程unix用二进制方式下载c文件到本地,修改之后用二进制方式上传到unix中,再用vi打开该文件,每行后面就会有一个^M的换行符,如果采用ascii方式下载,二进制方式上传的话就没有^M,那请问这样会对程序文件 ......
打印一个N*N的方阵,N为每边字符的个数( 3〈N〈20 ),要求最外层为"X",第二层为"Y",从第三层起每层依次打印数字0,1,2,3,...
例子:当N =5,打印出下面的图形:
X X X X X
X ......
你还在新手阶段徘徊吗?你还在发愁应该怎么继续学习C和C++吗?
群 29152388 为你解开疑惑,欢迎新手老手的加入,你的加入就是其它人学习的动力
楼下出门踩便便
算你狠
新手的福音啊···终于 ......
C/C++ 2009-9专家榜
名次 专家名称 专家分 个人描述
1 mstlq (面色铁路桥) 5843 因为菜,所以努力学习中
2 whg01 (及时结贴是美德)&n ......
比如:
char c[] = "hello,world";
char *c = "hello,world";
在分配内存时是不一样的吧?(分配到堆还是栈什么的)
谁能给讲讲C中内存是怎么分配的啊?
或者给提供个链接
......