新手关于C语言的低级问题

来源:百度知道 编辑:UC知道 时间:2024/06/13 23:54:45
要实现输入两个数字,输出其中较大的那个,我是这样写的:

#include<stdio.h>
int main(void)
{
int a,b;
clrscr();
printf("Enter a:");
scanf("%d\n",&a);
printf("Enter b:");
scanf("%d\n",&b);

printf("Max=%d\n",max(a,b));

return 0;
}

int max(int a,int b)
{
int x;
if(a>b) x=a;
else x=b;
return x;
}

但是在运行的时候,发现要求输入3个数字,且比较的是前两个,效果如下:

Enter a:1
2
Enter b:3
Max=2

这是什原因啊,困惑中,高手请指教,谢了~

你的scanf语句的格式串写得不对,不应该有"\n",修改如下:

#include<stdio.h>
int main(void)
{
int a,b;

printf("Enter a:");
scanf("%d",&a);
printf("Enter b:");
scanf("%d",&b);

printf("Max=%d\n",max(a,b));

return 0;
}

int max(int a,int b)
{
int x;
if(a>b) x=a;
else x=b;
return x;
}

scanf("%d\n",&a); 错了应该scanf("%d",&a);
scanf("%d\n",&b); 同样的错误
int max(int a,int b) 这函数应该在前面声明