|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
求2个整数中的较大数,不知道哪里错了。
#include<stdio.h>
int main()
{
int max(int x,int y);
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
return 0;
}
int max(int x,int y)
{
int z;
if(x>y)
z=x;
else z=y;
return(z);
}
程序没问题,我估计是你的输入有问腿,你的scanf函数是("%d,%d",&a,&b),你是不是输入的是a, 然后按了一下空格,再输入的b?
如果是这样,那你给a 赋的值是a 的值,但你的b 赋的值是空格,也就是空格的ASCII码的值(具体多少我忘记了),而你最后输入的b的值就被抛弃了,所以运行之后你的程序比较的是a 和空格的值。
想要正确运行的话,就这样输入,先输入a 再输入”,“(注意这里是英文输入法下的”,“),最后输入b。
最后我提醒你一下,scanf函数的输入是根据("")双引号里的东西来输入的,比如你写成("%d,%d",&a,&b),那你必须输入a,b;最好写成("%d%d",&a,&b),输入a,中间你输入多少空格都没问题,再输入b。
至于原因,就是scanf函数的还有一个参数叫分隔符,这方面的东西比较多,我就不细说,反正你scanf函数不特别指明那默认是以空格为分隔符,来区别一个数据和另一个数据的。
|
|