C语言题目main() { int i=8; printf("%d\n%d\n%d\n%d\n",++i,--i,i++,i--); }
书上说实参表按照从左到右的顺序计算结果是9889,从右到左是8778,我自己算出来也是这两个结果,可是在VC6.0运行出来是8788,这是为什么呢?如果在试卷上遇到这类题...
书上说实参表按照从左到右的顺序计算结果是9889,从右到左是8778,我自己算出来也是这两个结果,可是在VC6.0运行出来是8788,这是为什么呢?如果在试卷上遇到这类题目应该写哪种答案呢?
展开
6个回答
展开全部
是编译器的不同
如果你细心的话,在c-free的结果是8788
vc 6.0是 8788
myeclipse 9889
这种题目是不可能出现在试卷上的,除非那个老师的脑袋秀逗了,而且作为程序员,是禁止写这种语句。否则,根本不是一个合格的程序员。
如果你细心的话,在c-free的结果是8788
vc 6.0是 8788
myeclipse 9889
这种题目是不可能出现在试卷上的,除非那个老师的脑袋秀逗了,而且作为程序员,是禁止写这种语句。否则,根本不是一个合格的程序员。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为VC是至少要执行两个++,--后才会变换i的值的哈
main() { int i=8; printf("%d\n%d\n%d\n",++i,i++,i--); }
这样的话,输出就是
9
8
8
main() { int i=8; printf("%d\n%d\n%d\n",++i,i++,i--); }
这样的话,输出就是
9
8
8
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
表示vc抽了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询