哲哲余
2018-11-07 21:04
#include <stdio.h>
int main()
{
// 定义变量sum, num
int sum, num;
sum = 0;
for(num = 0;num<=10;++num) //for循环条件与num的变化值
{
sum=sum+num; //计算每次数字之间的和sum
}
printf("10以内数的和为:%d", sum);
return 0;
}
为什么不可以是++n?
其实在这里++m和m++没什么区别,因为num是0,如果num是1就不行了
对于这道题其实没什么差别,因为首先是判断num是不是<=0,接下来执行求和语句num+=sum,第三部才是num的自增,应为这一步无论是先自增还是后自增对于下一步来说都不影响,都会在下一次求和之前加1,只不过++n对于这道题其实没什么差别,因为首先是判断num是不是<=0,接下来执行求和语句num+=sum,第三部才是num的自增,应为这一步无论是先自增还是后自增对于下一步来说都不影响,都会在下一次求和之前加1,只不过++num是一次循环完毕后,而num++是当即运行。um是一次循环完毕后,而num++是当即运行。
此处 num++ 意思就是,先取num的值,即num=0,并不是取了num的值后就进入到表达式2的判断,而是进行num+1=1,得到num=1后随即进行表达式2的判断。
不输出的话都一样 都是变成n=n+1
我跟你的疑问一样
++n是先加再取值,这样会导致第一个数字为2而不是1
n++是先取值再加,他会先去i=1,然后运行i+1并将值赋予i中得到2,以此类推
C语言入门
926210 学习 · 20797 问题
相似问题