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

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

------解决方案--------------------
循环就执行到;