所以我正在尝试自学 C,我拿起了几位教授向我推荐的一本教科书,我正在研究示例,但他们没有答案,我遇到了一个问题。
问题: (倍数)编写一个程序,读取两个整数,并确定并打印第一个整数是否为整数 是秒的倍数。 [提示:使用余数运算符。]
#include <stdio.h>
int main(void)
{
int num1, num2;
printf("Enter two integers: ");
scanf("%d%d", &num1, &num2);
if((num2 % num1) == 0);
{
printf("%d and %d are multiples of each other\n",num1, num2);
}
if((num1 % num2) != 0);
{
printf("%d and %d are not multiples of each other\n",num1, num2);
}
return 0;
}
当我运行程序时,我用 2 和 5 来测试它,它们不是彼此的倍数,但是程序打印了这两个语句。谁能告诉我我做错了什么或者我错过了什么?本书的这一章仅包含 if 语句,没有其他类型。谢谢!
最佳答案
每个
if
末尾都有杂散;
,因此{
和}<中的位
总是运行。你的编译器没有警告你“空if”吗?如果没有,请打开警告。您的
if
条件并不相互排斥。使用if
else
代替。
关于c - 读取 2 个整数是否是倍数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54575734/