首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

c语言 关于for的有关问题(本人菜鸟)

2012-02-22 
c语言 关于for的问题(本人初学者)题目是求 s1*2+2*3+3*4+…+20*21#includestdio.hint main()  {intm,n,s

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
求解释

[解决办法]

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循环,虽然他的循环处理的内容什么都没有。

[解决办法]
循环就执行到;

热点排行