求两个数之中的最大值
这个程序为什么用VC2010学习版输出的永远只是输入的第一个值?我调试的时候不知道为什么第二个值永远输入不进去
以下是代码:
```#include<stdio.h>
main()
{
int a,b,max;
scanf("%d,%d",&a,&b);
if(a>=b)
max=a;
else
max=b;
printf("max=%d\n",max);
}
你怎么输入的,是两个数字之间英文半角的逗号么?
是不是没有输入逗号,或者输入了中文的逗号。
两个数的输入是怎样的?
你把scanf里的逗号去掉试试,或者用以下代码:
#include<stdio.h>
int main()
{
int a,b,maxn=0;
scanf("%d%d",&a,&b);
if(maxn<a) maxn=a;
if(maxn<b) maxn=b;
printf("max=%d\n",maxn);
}
不知道你这个问题是否已经解决, 如果还没有解决的话:这段代码的问题在于 scanf
函数中使用的格式化字符串 %d,%d
。这里的逗号应该被去除,因为在输入时,我们只需要输入两个整数,不需要输入逗号。
修改后的代码如下:
#include <stdio.h>
int main()
{
int a, b, max;
scanf("%d %d", &a, &b); // 去除逗号
if (a >= b)
max = a;
else
max = b;
printf("max=%d\n", max);
}
现在,代码不再使用逗号作为输入分隔符,因此可以正常接受两个整数输入,并输出其中较大的一个。
调试过程中,可以使用以下方法来定位问题:
scanf
之前和 printf
之前设置断点。这将允许我们查看变量值和程序执行流程。scanf
语句时,输入两个整数并注意变量 a
和 b
的值是否正确。当程序执行到 printf
语句时,观察输出的结果是否符合预期。通过以上步骤,您应该能够发现并解决问题。