C语言int i=5;j=i+++i+++i++;j=?是怎么算的呀?
4个回答
展开全部
这个问题还真不好确定答案,跟编译器有关,我没有试多个不同的c编译器,不过试了在c和java 的不同情况,如下:
用c,输出结果为15。则执行过程应该是相当于:
j = (i++)+(i++)+(i++),因为是后缀加,所以都是执行完表达式之后完成自增
语句执行完成后,j为15,i 三次自增,为8
用java,输出结果为18,则执行过程应该是相当于:
1. j = 5 + 6 + 7. 就是指 i 第一次是5,但是在第二个i++时,作为表达式运算加法时初始值已经为6,而对于第三个,则初始值为7。
2. 执行完后,i也是8
展开全部
哪个程序员要是写出这种代码,公司会直接将其开除。这东西不同编译器可能有不同的解释。学语言尤其是菜鸟,千万不要在这种毫无意义的代码上钻牛角尖。实际代码中你一辈子也见不到类似代码。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个跟编译器有关 j=(i++)+ (i++) + (i++) ;
结果是 j=15
结果是 j=15
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
j =( i++)+(i++)+(i++).
j=18
i=8
j=18
i=8
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询