鱼C论坛

 找回密码
 立即注册
查看: 748|回复: 4

[已解决]if顺序结构 大佬帮忙看下

[复制链接]
发表于 2021-1-29 14:05:06 | 显示全部楼层 |阅读模式

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

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

x
#include<stdio.h>

int main()
{
        int m,n;
        printf("请输入两个整数:");
        scanf("%d,%d",&m,&n);
       
        if((m>=1 && m<=500)&&(n>=1 && n<=500))
        {
                if(m%n == 0)
                {
                        printf("YES\n");
                }
                else
                {
                        printf("NO\n");       
                }
        }
        else
        {
                printf("error\n");
        }
       
}

if(m%n == 0)
这里为什么当输入的m不能被n整除的时候  m%n!
也输出YES???

把else换成else if(m%n!=0)
也不行
最佳答案
2021-1-29 14:14:17
本帖最后由 sunrise085 于 2021-1-29 14:40 编辑

很大概率是因为你的scanf导致你得到的m和n并不是你输入的值。
建议:scanf之后printf看一下m和n的值;
注意:你写的scanf中两个格式化字符之间有个逗号,输入的时候也需要输入逗号,否则n的值就不是你输入的值了

关于scanf的一些细节,可以看看我之前回答的一些帖子
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-29 14:14:17 | 显示全部楼层    本楼为最佳答案   
本帖最后由 sunrise085 于 2021-1-29 14:40 编辑

很大概率是因为你的scanf导致你得到的m和n并不是你输入的值。
建议:scanf之后printf看一下m和n的值;
注意:你写的scanf中两个格式化字符之间有个逗号,输入的时候也需要输入逗号,否则n的值就不是你输入的值了

关于scanf的一些细节,可以看看我之前回答的一些帖子
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-29 14:14:39 | 显示全部楼层
你的scanf("%d,%d",&m,&n);%d和%d中间有个英文的逗号 ','

你把输入的形式 给定了,
你要在m和n之间加个逗号才行
或者你把逗号不要,具体的问题,你去看看小甲鱼的scanf那一篇
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-29 14:19:27 | 显示全部楼层
sunrise085 发表于 2021-1-29 14:14
很大概率是因为你的scanf导致你得到的m和n并不是你输入的值。
建议:scanf之后printf看一下m和n的值;
注 ...

感觉你讲的,真的好,导师就是不一样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-29 14:32:23 | 显示全部楼层
本帖最后由 心驰神往 于 2021-1-29 14:34 编辑

应该就是楼上说的你输入有问题
  1. scanf("%d,%d",&m,&n);
复制代码

改成
  1. scanf("%d %d",&m,&n);
复制代码

输入的时候,中间用空格。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 16:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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