鱼C论坛

 找回密码
 立即注册
查看: 2741|回复: 3

疑问解答

[复制链接]
发表于 2022-9-5 17:36:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-5 18:26:41 From FishC Mobile | 显示全部楼层
scanf是一个函数,它的返回值表示接收到有效数值的个数,和num没有关系
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-9-5 18:47:14 | 显示全部楼层
wp231957 发表于 2022-9-5 18:26
scanf是一个函数,它的返回值表示接收到有效数值的个数,和num没有关系

明白了,十分感谢;是不是这样理解,因为那个设置的格式化符号为%d,只要是我输入的为数字返回值都为1,如果说输入不为数字返回值为0;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

是的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-16 21:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表