红联Linux门户
Linux帮助

求解释

发布时间:2011-11-17 15:51:45来源:红联作者:zx84123
#include
int main()
{
int i = 1;
printf("%d%d%d\n",++i,++i,++i);
printf("%d\n",i);
return 0;
}
结果是
444 4
求解释!!!
文章评论

共有 9 条评论

  1. zx84123 于 2011-11-19 15:16:08发表:

    9# xiexz


    不同的编译器 编译运行的情况不一样。在谭浩强的书中写的就 是你同学出现的那种情况!

  2. xiexz 于 2011-11-18 21:33:51发表:

    我又有疑惑了。楼上的用逗号表达式解释非常的合理,我一同学用windows 平台的vc编译编译器结果是 432 4是编译器造成的吧?!

  3. xiexz 于 2011-11-18 20:54:17发表:

    7# xiexz


    我以前看过逗号表达式,但没想到printf()也可以逗号表达式

  4. xiexz 于 2011-11-18 20:46:50发表:

    6# zx84123


    看完了,谢谢

  5. zx84123 于 2011-11-18 19:20:35发表:

    3# xiexz


    你看看逗号表达式就知道为什么从右至左运算了!

  6. zx84123 于 2011-11-18 19:19:21发表:

    2# guwujian


    从右往左运算怎么会出现444呢 ?这与在谭浩强编写的C程序设计中的第十四章常见错误和程序调试的第27点有明显的冲突。

  7. 独孤一郎 于 2011-11-18 16:59:23发表:

    和编译器有关

  8. xiexz 于 2011-11-18 13:18:06发表:

    好神奇,为什么是从又至左呢?有谁知道的

  9. guwujian 于 2011-11-17 23:14:17发表:

    从由往左运算的