小伊布 发表于 2020-5-10 22:34:42

14课

#include <stdio.h>

int main()
{
      int num = 0;
      long sum = 0L; // 0L表示类型为long的0
      int status;

      do
      {
                printf("请输入合法的数字:");
                sum = sum + num;
                status = scanf("%d", &num);
      } while(status == 1);

      printf("结果是:%ld\n", sum);

      return 0;
}

status = scanf("%d", &num);为什么这里status输入数字打印出来是1,输入其他打印0

小伊布 发表于 2020-5-10 22:36:05

status 不应该是= num吗,为什么会输出1与0

liuzhengyuan 发表于 2020-5-10 22:40:53

scanf 返回值

小伊布 发表于 2020-5-11 00:11:17

liuzhengyuan 发表于 2020-5-10 22:40
scanf 返回值

scanf返回值是什么、

sunrise085 发表于 2020-5-11 00:25:53

scanf返回值可能是1或者0或者-1,若读到合法格式的值(你这里是整型数字)则返回值为1;若读到其他字符,则返回值为0;什么也没有读到,则返回值为-1。
页: [1]
查看完整版本: 14课