首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

有关i++和++i的有关问题!帮解决下

2012-03-24 
有关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。。。。
[解决办法]
探讨

这么奇怪,后面都还好理解,可是为什么k会等于19呢?我觉得k应该等于18。。。。

热点排行