对于++,--的输出结果
#include<stdio.h>int main()
{
int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
printf("%d,%d\n",i,p);
q=(++j)+(++j)+(++j);
printf("%d,%d\n",j,q);
}
欢迎大家来讨论这个输出的结果。
在我的电脑结果是
8,18
8,22
翻了一下书
书上说这样的语句c++是没有明确定义的,应尽量避免 我用VC和codeblocks运行程序,得到两个不同的结果,。。。
分别是
8,15
8,22
和
8,18
8,22
。。。。。已跪 小剑剑 发表于 2016-10-2 19:10
在我的电脑结果是
8,18
8,22
{:7_113:}{:7_113:} 云从 发表于 2016-10-2 21:23
我用VC和codeblocks运行程序,得到两个不同的结果,。。。
分别是
8,15
这就是我发帖子的初衷,就是想大家讨论下具体的原因是什么呢? 本帖最后由 代码农民 于 2016-10-26 22:53 编辑
这是谭浩强书里的吧?程序语法并没有错误,但是不同的编译器会有不同的解释!
所以为了统一口径,以后千万不要这样写代码!——听人说这样写会被骂、、、
所以不必纠结个问题。
页:
[1]