Rex-Li 发表于 2015-2-24 08:52:00

C语言求1加到100

#include <stdio.h>

void main()
{
        int i,sum=0;
        for(i=1;i<=100;i++);
        {
                sum=sum+i;
        }
        printf("%d\n",sum);
}

请问各位前辈,为什么for()后面加个分号会输出101呢?

牡丹花下死做鬼 发表于 2015-2-24 09:09:59

(⊙o⊙)…1+100=101

Rex-Li 发表于 2015-2-24 10:05:25

牡丹花下死做鬼 发表于 2015-2-24 09:09
(⊙o⊙)…1+100=101

就是不明白为什么会这样?

766240172 发表于 2015-2-24 13:27:44

Rex-Li 发表于 2015-2-24 10:05
就是不明白为什么会这样?

for后面加个分号,就代表for循环语句结束了,for循环里没有任何语句,当 i = 101 时跳出循环。sum=sum+i 就是sum=0+101,sum=101。所以打印101.

lies_for_L 发表于 2015-2-24 13:32:53

本帖最后由 lies_for_L 于 2015-2-24 13:34 编辑

#include <stdio.h>

void main()
{
      int i,sum=0;
      for(i=1;i<=100;i++)//i = 0
      {
             ;
         }                               // i = 101 不满足循环条件,退出循环
                sum=sum+i;   // sum = 0   i = 101;   sum + i =101

      printf("%d\n",sum);
}


页: [1]
查看完整版本: C语言求1加到100