用C语言求10个整数的和时,如果其中的i=2,会出现什么情况?

Python016

用C语言求10个整数的和时,如果其中的i=2,会出现什么情况?,第1张

用C语言求10个整数的和时,如果其中的i=2,这里的变量i指的是什么,指的是第二个吗,还是指的一个数据等于2。

不管是哪一个情况都没有什么特殊的,直接当作一般的情况处理就可以了,要实现这个程序段要写一个循环。设置一个累加器变量并初始化他的值等于零。循环体共执行10次,然后每次都如一个整数,并把它里加起来最后输出这个里加变量的值就可以了。

这种题很垃圾的,因为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中前缀++的原理,并没有错,不同编译器得到不同结果,如果哪里的考试出这种题,那真的很垃圾。

那你得看看for循环执行过程了

第一步,执行i=0;

第二步,判断n!=0,真就执行循环体

,假就跳出

第三步,执行i++

你说第二次执行循环后,i=1,n=0,这样,才执行到第二次循环的第二步,所以要接着执行i++,当执行到第三次循环判断n=0了,才跳出循环啊