我正在解决使用函数的最大和最小代码。我写了这样的代码:
#include <stdio.h>
int maxmin(int x, int y);
int main () {
int a, b, c;
scanf("%d%d", &a, &b);
c = maxmin(a, b);
if (maxmin == 1) {
printf("%d is maximum,%d is minimum", a, b);
}
else
printf("%d is maximum,%d is minimum", b, a);
return 0;
}
int maxmin(int x, int y) {
int XisMax = 0;
if (x > y) {
XisMax=1;
}
else {
XisMax=0;
}
return XisMax;
}
所以我的输出显示了此结果:
Input:9,10;
10 is maximum,9 is minimum
Input:10,9;
9 is maximum,10 is minimum
这里有什么错误?我该怎么办?
PS:我对功能进行了考试,因此使用功能的解决方案将有所帮助。
如果(maxmin == 1)
更改为if (c==1)
您的问题已解决。祝你有美好的一天
您应该检查if(c == 1),而不是if(maxmin == 1)。
您的功能也可以缩短:
int maxmin(int x, int y)
{
if (x>y)
{
return 1;
}
else
{
return 0;
}
}
此外,我认为您的scanf缺少两个%d之间的逗号。