if顺序结构 大佬帮忙看下
#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)
也不行 本帖最后由 sunrise085 于 2021-1-29 14:40 编辑
很大概率是因为你的scanf导致你得到的m和n并不是你输入的值。
建议:scanf之后printf看一下m和n的值;
注意:你写的scanf中两个格式化字符之间有个逗号,输入的时候也需要输入逗号,否则n的值就不是你输入的值了
关于scanf的一些细节,可以看看我之前回答的一些帖子 你的scanf("%d,%d",&m,&n);%d和%d中间有个英文的逗号 ','
你把输入的形式 给定了,
你要在m和n之间加个逗号才行
或者你把逗号不要,具体的问题,你去看看小甲鱼的scanf那一篇 sunrise085 发表于 2021-1-29 14:14
很大概率是因为你的scanf导致你得到的m和n并不是你输入的值。
建议:scanf之后printf看一下m和n的值;
注 ...
感觉你讲的,真的好,导师就是不一样 本帖最后由 心驰神往 于 2021-1-29 14:34 编辑
应该就是楼上说的你输入有问题
scanf("%d,%d",&m,&n);
改成 scanf("%d %d",&m,&n);
输入的时候,中间用空格。
页:
[1]