int+i=2+i=i+++int+j+=i++输出i j
1个回答
关注
展开全部
咨询记录 · 回答于2022-08-14
int+i=2+i=i+++int+j+=i++输出i j
您好亲~,很高兴能为您服务呢~,会努力帮您解答呢~!int+i=2+i=i+++int+j+=i++输出i j这种题很垃圾的,因为C没有对这种类型进行规范,因此不同编译器就有不同的算法,如果是自已编程一定不要这样写得到15也是正确的,因为按照前缀自加的原理是:先自加再求表达式,那么(++i)+(++i)+(++i)很明显,让i自加吧,自加后再求i+i+i这样就得到15了得到13也正确原理楼上有讲了,先计算前面2个表达式(++i)+(++i)得到8,再来和后面的计算就得到13了得到12也正确先自加第一个++i得到3然后再求表达式,也就是求第1个加号,这时又遇到前缀加,i再自加得到4所以第一个加号后得到7,然后再和最后一个加号相加就得到12了以上三种算法都满足C中前缀++的原理,并没有错,不同编译器得到不同结果,如果哪里的考试出这种题,那真的很垃圾。亲~希望我的回答能够帮助到您呢,有不清楚的可以继续追问,不用结束咨询,我会尽快为您解答,如果您觉得满意亲可以帮忙给个5星赞,您的满意是我最大的动力,谢谢呢!