C语言菜鸟再次提问,还请各位老师不吝赐教!

来源:百度知道 编辑:UC知道 时间:2024/06/22 12:37:04
十分简单初级的一个小程序,就是算最大数,可是我弄来弄去,结果就是得不到理想的答案,输入了5 6,得的结果却是5,我不知道到底是哪里出了问题,还请各位老师帮帮忙,谢谢!
#include<stdio.h>
void main()
{
int max(int x,int y);
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d",c);
}
int max(int x,int y)
{
int z;
if (x>y) z=x;
else z=y;
return(z);
}

输入格式不对 输入5,6 应该就ok了

scanf("%d,%d",&a,&b);
你%d中间用","分开,便是指定了输入的时候必须而且只能用","分开.
最好是中间什么也不放,这样输入的时候用空格或者是回车分开都可以.

if (x>y) z=x;
else z=y;
return(z);
还是专业点,用问号表达式吧
z=x>y?x:y;
如果x>y则取x,反之取y

没有看出什么问题……奇怪了
请你注意输入的时候是否按格式输入
5,6

scanf("%d,%d",&a,&b); 输入要和它"%d,%d"一样5,6

scanf("%d%d",&a,&b); 56

这个是scanf的问题
最好看看scanf的格式先,会比较有帮助

scanf("%d,%d",&a,&b); 换成scanf("%d%d",&a,&b);