新手关于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
这是什原因啊,困惑中,高手请指教,谢了~
#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) 这函数应该在前面声明