今天下午笔试微软实习生,感觉题目略难,其中有一道关于x++的题目,做错了,看题目吧。
#include<stdio.h>
#include<stdlib.h>
/*结果为10,11,错了,悲剧啊*/
int main(){
int x=10;
int y=10;
x = x++; //X++ will increment the value, but then return its old value
y = ++y;
printf("%d %d\n",x,y);
while(1);
return 0;
}
看stackoverflow上有一个题目类似,http://stackoverflow.com/questions/226002/whats-the-difference-between-x-x-vs-x
最多的回答:X++ will increment the value, but then return its old value.
所以x应该为10,而不是11,以后谨记吧,别错了。
本文通过一个具体的C语言示例程序详细解释了x++与++x的区别,特别是它们在赋值操作中的表现不同。文章指出x++会先返回旧值再递增,而++x则直接递增并返回新值。
1760

被折叠的 条评论
为什么被折叠?



