有关i++和++i的有关问题!帮解决下
有关i++和++i的问题!帮解决下啊C/C++ code#includestdio.hmain(){int k,hint i4k(++i)+(++i)+(++i)
有关i++和++i的问题!帮解决下啊
C/C++ code#include<stdio.h>main(){ int k,h; int i=4; k=(++i)+(++i)+(++i); printf("k=%d,i=%d\n",k,i); i=4; h=(i++)+(i++)+(i++); printf("h=%d,i=%d",h,i);}
这个代码k=19,i=7;h=12,i=7;
这个别人问过的问题,先看第二个h,课本上解释是先执行i+i+i,即,4+4+4所以h为12,接着i连续加3次得7;
那么我的疑问是第一个为什么不是i先自加3次变7,再7+7+7=21,为什么结果是19.
2.在C语言中/40,/100,/x40,/x100,/0123,/x0123,各是什么意思?
比如说/40=32=空格,怎么出来的,不是很懂,求详细点的解释,
这个是《c和指针》 上的一个题目
[解决办法]http://topic.csdn.net/u/20110826/09/601ebe9c-c2ae-4d63-a4e2-506c618bb654.html
[解决办法]i++表示的意思就是先把i值作为表达式值传递出去,在表达式计算结束时才增量i
如果你想要先增量,写成++i的形式就可以了。
这个就只是C语言的一个规定,没有为什么。就好像+号,没什么理由,就是用它做为加法的符号。
[解决办法]至于k的值,还真就是21......
=19是怎么来的就不知道了。
[解决办法]代码好纠结
[解决办法]看来只有写的人才能顺利译出来啊
[解决办法]真是月经贴啊,每隔一段时间就冒出来一次。。。
真想知道最早是哪个傻帽出的题。。。。。。。
[解决办法]这么奇怪,后面都还好理解,可是为什么k会等于19呢?我觉得k应该等于18。。。。
[解决办法]