七分君 发表于 2020-8-19 10:03:58

课后题,为什么这个打印出来没东西。。

#include<stdio.h>
int main()

{
        unsigned long long num;
        unsigned long long int i;
        i = 0;
        num = 0;
       
        if (i < 1000)
        {
               
                if (i % 3 == 0 && i % 5 == 0)
                {
                        num = num + i;
                        i = i + 1;
                }
                else
                {
                        i = i + 1;
                }
       
        }
        else
        {
                printf("%d\n", num);
        }
        return 0;
}

zltzlt 发表于 2020-8-19 10:05:46

用 while
#include <stdio.h>
int main()

{
    unsigned long long num;
    unsigned long long int i;
    i = 0;
    num = 0;

    while (i < 1000)
    {

      if (i % 3 == 0 && i % 5 == 0)
      {
            num = num + i;
            i = i + 1;
      }
      else
      {
            i = i + 1;
      }
    }
    printf("%d\n", num);
    return 0;
}

巴巴鲁 发表于 2020-8-19 10:06:02

因为i=0,不会执行那个输出

七分君 发表于 2020-8-19 10:07:28

zltzlt 发表于 2020-8-19 10:05
用 while

这个和if有什么不同吗

七分君 发表于 2020-8-19 10:12:17

是不是while是循环的,if就走一遍直接跳出了?{:10_277:}

zltzlt 发表于 2020-8-19 10:20:06

七分君 发表于 2020-8-19 10:12
是不是while是循环的,if就走一遍直接跳出了?

是的
页: [1]
查看完整版本: 课后题,为什么这个打印出来没东西。。