c语言输入三个数,输出其中最大数.要求自定义函数max(a,b),其功能是找出并返回a,b

#include<stdio.h>intmax(intx,inty,intz)intmain(){inta,b,c,d;scanf("%d%d%d",&a,&b,&c);... #include<stdio.h>
int max(int x,int y,int z)
int main()
{ int a,b,c,d;
scanf("%d %d %d",&a,&b,&c);
d=max(a,b,c);
printf("%d",d);
return 0;
}
int max(int x,int y,int z)
{ int s;
if(x<y)
s=y;
else
s=x;
if(y<z)
s=z;
else
s=y;
return s; }
我这怎么错了
展开
 我来答
阿可的生活日记
高能答主

2020-06-03 · 好好生活的样子真的很美
阿可的生活日记
采纳数:236 获赞数:220052

向TA提问 私信TA
展开全部

需要依次在电脑中输入#include<stdio.h>main(){int a,b,c;int big;printf("请输入3个数\n");scanf("%d %d %d",&a,&b,&c);big=(a>b)?a:b;big=(big>c)?big:c;printf("最大数是%d\n",big);}这些代码。

等到上面的代码输入好之后就可以测试运行,这时候电脑上就会显示结果正确。当EOF的宏定义超出char型数据所表示的范围时,这样就会出错,这种错误很难预料。

扩展资料:

注意事项:

1、char的取值范围究竟是[-128,127]还是[0-255]取决于编译器。GCC编译器中的char表示signed char。所以应该将tmp的类型改成int 型,防止出现错误。

2、C总是按值传递,可以模拟按引用传递,定义接受指针的函数,在调用时使用 & 操作符。事实上向函数传入数组 (传入指针的情况参见问题 6.4 及其它) 时,编译器本质上就是在模拟按引用传递。

3、左值就是只能出现在=号的左边,可以被赋值。右值是只能出现在=号的右端,不能被赋值也不能自增。

参考资料来源:百度百科-c语言

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式