C程序在vc 6.0和code blocks中运行结果不一致

#include<stdio.h>main(){inti=10,j=1;i=i+j++;printf("%d,%d,%d\n",i++,++j,i);return0;}V... #include<stdio.h>
main(){
int i=10,j=1;
i=i+j++;
printf("%d,%d,%d\n",i++,++j,i);
return 0;
}
VC结果是:11,3,11
Code Blocks结果是11,3,12
问题出在哪里?
展开
 我来答
物理公司的
2017-05-13 · TA获得超过5697个赞
知道大有可为答主
回答量:6105
采纳率:86%
帮助的人:1388万
展开全部
i=i+j++;//这种叫做未定义行为,出现什么结果看编译器的了,最好加上括号,不建议写这种代码
追问
i=i+j++;//根据C的运算符优先级,先计算j++,然后再i+j,加不加括号没有影响呀。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式