
展开全部
这个问题在估计不同的系统中是不同的,你自己最好在自己的系统里试一试,
Turbo C 2.0中是 (++a)+ (c++)+ b
main()
{ int a=0,b=0,c=0,d;
d=++a+c+++b;
printf("%d %d %d %d",a,b,c,d);
}
输出的结果 1 0 1 1
所以显然是: 第一步:做++a; 在turbo C中前缀单目运算优先于后缀
第二步 取单目运算的结果做表达式运算对象:1(a) 0(c)
第三步 做 c++
第四步 做表达式计算 1+0+b ,其中b的内容为0
最终计算结果为 1
输出结果为: 1 0 1 1
b的内容始终是0
Turbo C 2.0中是 (++a)+ (c++)+ b
main()
{ int a=0,b=0,c=0,d;
d=++a+c+++b;
printf("%d %d %d %d",a,b,c,d);
}
输出的结果 1 0 1 1
所以显然是: 第一步:做++a; 在turbo C中前缀单目运算优先于后缀
第二步 取单目运算的结果做表达式运算对象:1(a) 0(c)
第三步 做 c++
第四步 做表达式计算 1+0+b ,其中b的内容为0
最终计算结果为 1
输出结果为: 1 0 1 1
b的内容始终是0
展开全部
悲哀!c语言并没有说怎么办的,而是不同的编译器不同的结果的,这就是二级c语言的垃圾题目,在vc6.0中就是这个结果的,可是tc2.0就不是的了,这个问题你就死记住吧,记住,自己别写这样的代码的!想知道究竟为什么联系我:510733540
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a++,c++,然后求a+b+c的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-10-12
展开全部
(++a)+c+(++b)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询