C语言:求2个数中较大者怎么做???

来源:百度知道 编辑:UC知道 时间:2024/06/22 02:46:19
谭浩强的第三版1.3例中:
#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\n",c);
}

int max(int x,int y)
{
int z;
if(x>y) z=x;
else z=y;
return (z);
}

想问下,那行赋值变量8,5??我在scanf("%d%d",&a,&b);输入了8,5编译之后有错误一项,我是这样输入的 scanf("%d%d",&8,&5); 难道不对吗??

网上查过说scanf("%d%d",&a,&b);输入8,5回车 是不是这样做??
scanf("%d%d",&a,&b);8,5 回车 这样???

到底错在哪里???

新手一个 不知道哪个位置输入
哪里输入??? 我就是不知道哪里输入 才问的阿
看来大家都不知道我提问的问题。。。。

我在说一次在:scanf("%d,%d",&a,&b);8,5 回车后编译出错1 error(s), 0 warning(s) 就是这个意思,那到底在哪里输入??

scanf("%d%d",&a,&b) //这样的话只需要输入两个纯数字就可以了,数字可以用空格格开或者每输入一个数字敲一下回车
然而scanf("%d,%d",&a,&b) 这个语句,%d与%d中间多了一个逗号,在输入的时候必须要输入进去,意思就是输入一个数字然后紧接着输入一个逗号再输入另一个数字,敲回车才可以
相同的,如果写成了scanf("%d,,%d",&a,&b)在输入的时候数字中间就要原模原样的加上两个逗号了
这么说你明白了么?

直接输入 8 空格 5 回车
或者 8 回车 5 回车

scanf("%d,%d",&a,&b);这里输入8,5
scanf("%d%d",&a,&b);这里输入一个数按一次回车,或在数之间加空格
说明:scanf输入的格式和前面括号里给出的格式相同

朋友,你编译后直接输入8,5就可以了,不知道你到底是错在哪里了……

你说的意思大概是这样吧
#include<steio.h>
main
{
int a=8,b=5;
if(a>b)printf("%d",a);
else printf("%d",b);
}

代码中第四行是错误的,函数声明不能在函数里面的. 放到main函数上面去.
也可以用一个宏
#define max(x,y) ((x) > (y) ? (x) : (y))
和你的那个max函数一样用法,但更简洁易懂.