gpt4 book ai didi

c - 用多个数字返回C中的奇数/偶数

转载 作者:太空宇宙 更新时间:2023-11-04 00:39:53 29 4
gpt4 key购买 nike

我正在尝试编写一个程序,它将接受两个数字并根据它们的值返回两个都是奇数,两个都是偶数,或者 A 是奇数而 B 是偶数,等等。

我设法让程序检查一个变量,但如果我添加第二个变量,我会得到一个我不期望的输出,而且我似乎无法安排代码来提供正确的输出。我猜是 if/else 语句的排列有问题。

#include <stdio.h>

int main()
{
int numA, numB;
printf("Please enter variables:");
scanf("%d, %d", &numA, &numB);
if (numA % 2) {
printf("Variable A:%d is odd \n",numA);
}
else{
printf("Variable A:%d is even \n", numA);
}
if (numB % 2) {
printf("Variable B:%d is odd \n",numB);
}
else{
printf("Variable B:%d is even \n", numB);
}
return 0;
}

我得到的输出如下

Please enter variables:4 5
Variable A:4 is even
Variable B:32767 is odd

为什么变量 B:32767 不是 5?

非常感谢您一如既往的帮助。如果我能解决这个问题,希望我能自己解决剩下的问题。

最佳答案

您的 scanf 格式要求数字以逗号分隔,

scanf("%d, %d", &numA, &numB);

但您的输入不是,所以只有第一个数字被 scanf 转换,第二个未被初始化。

您应该始终检查 scanf 和 friend 的返回值,以验证是否进行了正确的转换次数。

关于c - 用多个数字返回C中的奇数/偶数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13361499/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com