阿亮不减肥 发表于 2022-9-5 17:36:06

疑问解答

#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);//这是将变量num赋值给status,如果输入的不为数字,,因为是%d,所以此时num=0?
      } while(status == 1);//当status不为0的时候(代表为真)进入下一次循环,为0退出循环,进入下一步;是这个意思不

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

      return 0;
}

wp231957 发表于 2022-9-5 18:26:41

scanf是一个函数,它的返回值表示接收到有效数值的个数,和num没有关系

阿亮不减肥 发表于 2022-9-5 18:47:14

wp231957 发表于 2022-9-5 18:26
scanf是一个函数,它的返回值表示接收到有效数值的个数,和num没有关系

明白了,十分感谢;是不是这样理解,因为那个设置的格式化符号为%d,只要是我输入的为数字返回值都为1,如果说输入不为数字返回值为0;

wp231957 发表于 2022-9-5 18:59:40

阿亮不减肥 发表于 2022-9-5 18:47
明白了,十分感谢;是不是这样理解,因为那个设置的格式化符号为%d,只要是我输入的为数字返回值都为1, ...

是的
页: [1]
查看完整版本: 疑问解答