懂C语言的朋友进来看下

来源:百度知道 编辑:UC知道 时间:2024/06/19 03:59:40
#include <stdio.h>
void main()
{
int a,b,c,max;
printf("please input a,b,c:\n");
scanf("%d,%d,%d",&a,&b,&c);
max=a;
if(max <b)
max=b;
if(max <c)
max=c;
printf("The largest number is %d",max);
}

本人初接触C,今天在执行上段代码时,编译,链接均无错误。本是输入三个数,取其最大值,但我发现
输出结果不是最大值,而是输进去的第一个数,不知怎么回事。
我用的是VC++6.0,难不成是软件问题?
第一次发帖,暂无分数可以给,还请见谅。

scanf没有错误,只要你确保你scanf里是英文逗号,一会输入的时候也用英文逗号分隔就行。
当然,像二楼那样不用分隔符也可以,因为如果没有指定分隔符,系统默认使用空格,回车或tab做分隔符。

你的是scanf()函数使用错误了,scanf()函数在接受多个变量时,%d和%d之间是不能用逗号间隔的,应该改成scanf("%d%d%d",&a,&b,&c)完整的正确代码如下:
#include <stdio.h>
void main()
{
int a,b,c,max;
printf("please input a,b,c:\n");
scanf("%d%d%d",&a,&b,&c);
max=a;
if(max <b)
max=b;
if(max <c)
max=c;
printf("The largest number is %d",max);
}

逻辑错误。

高人啊。。。。