c语言 关于for的有关问题(本人菜鸟)
c语言 关于for的问题(本人初学者)
题目是 求 s=1*2+2*3+3*4+…+20*21
#include<stdio.h>
int main()
{
int m,n,sum=0;
for (m=1;m<=20;m++)
sum=sum+m*(m+1);
printf(“%s\n”,sum);
return 0;
}
此时 输出的结果为 3080 结果正确
本人有一个地方不明白 就是
把for (m=1;m<=20;m++)变为 for (m=1;m<=20;m++);的时候
多加了个 ; 其他没变
输出的结果为462
求解释
------解决方案--------------------
题目是 求 s=1*2+2*3+3*4+…+20*21
#include<stdio.h>
int main()
{
int m,n,sum=0;
for (m=1;m<=20;m++)
sum=sum+m*(m+1);
printf(“%s\n”,sum);
return 0;
}
此时 输出的结果为 3080 结果正确
本人有一个地方不明白 就是
把for (m=1;m<=20;m++)变为 for (m=1;m<=20;m++);的时候
多加了个 ; 其他没变
输出的结果为462
求解释
------解决方案--------------------
- C/C++ code
#include<stdio.h> int main() { int m,sum=0; for (m=1;m<=20;m++) ;//for之后的一条语句是循环的执行体,你用;就什么都不执行,m一直自加到21跳出循环 sum=sum+m*(m+1);//这里sum=0+21*22; printf("%d\n",sum);//结果是462,另外int型的输出格式是%d return 0;//最后,LZ你的标点太蛋疼了,换英文吧 }
------解决方案--------------------
- C/C++ code
#include<stdio.h> void main() { int m,sum=0; for(m=1;m<=20;m++) sum=sum+m*(m+1); printf("%d\n",sum); }
------解决方案--------------------
加了个分号就变成空循环了,结果就成了21*22=462了哈
------解决方案--------------------
“;” 在C语言里表示一条语句的结束。
你在for循环后面直接加 “;” 表示这是个完整的for循环,虽然他的循环处理的内容什么都没有。
------解决方案--------------------
循环就执行到;