鱼C论坛

 找回密码
 立即注册
查看: 1426|回复: 6

[已解决]小白求助

[复制链接]
发表于 2021-11-16 21:13:13 | 显示全部楼层 |阅读模式
9鱼币
                                   看不懂
……
                do
                {
                        sum = sum + num;
                        status = scanf("%f", &num);
                } while (getchar() != '\n' && status == 1);
……
……
                do
                {
                        status = scanf("%f", &num);
                        sum = sum + num;
                } while (getchar() != '\n' && status == 1);
……
最佳答案
2021-11-16 21:13:14
喵喵喵
微信截图_20211116205943.png

最佳答案

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-16 21:13:14 | 显示全部楼层    本楼为最佳答案   
喵喵喵
累加.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-16 21:41:16 | 显示全部楼层
我很好奇  上面的代码 是怎么产生下面的结果的
觉的我傻.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-11-16 21:46:17 | 显示全部楼层
最终的执念 发表于 2021-11-16 21:41
我很好奇  上面的代码 是怎么产生下面的结果的

#include <stdio.h>

int main()
{
        float num = 0;
        double sum = 0;
        int status;

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

        printf("结果是:%.2lf\n", sum);

        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-16 21:55:33 | 显示全部楼层
第一次  num和sum都没值   所以....
而且  getchar() != '\n'  这条件你确定成立....
有点好奇.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-11-16 22:39:01 | 显示全部楼层

懂了,修改前:输入1那次循环并没有赋值给sum,等第二次循环时才把1赋值给sum。
         修改后:第一次循环就给sum赋值了,还把最后的数相加了两次
status = scanf("%f", &num);
可以说一下这个会让status等1吗?

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-17 00:18:48 | 显示全部楼层
啊这  不完全成立
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-23 01:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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