C语言菜鸟,求救。
发布网友
发布时间:2022-09-22 13:07
我来回答
共6个回答
热心网友
时间:2023-11-25 23:14
小伙问题太多了
1.未包含头文件,在最前面加上 #include "stdio.h"
2.scanf("%d,%d,%d,",&a,&b,&c,);
最好改成scanf("%d%d%d",&a,&b,&c);
c后面没有参数了,就别加逗号了,看你后面很多这样的
3.t=max(a,b,c,);
改成
t=max(a,b,c);
4.函数max需要在main函数之前声明一下,在main前面加上一句int max(int x,int y,int z);
哦,对了,main没有设返回值,在main前面加上void
5.int max(int x,int y,int z);
后面的分号不要,声明时候带着,但具体实现的时候不要加
6.if(y>z);xx=y;
把第一个分号去了
建议你先学习一下c的语法,你这样编程,猴年马月才能学好
热心网友
时间:2023-11-25 23:14
有错误。你看看你判断那地方。不对。如果x=3 ,y=2 ,z=1 那你判断那返回的是2 而不是3了。
热心网友
时间:2023-11-25 23:14
main 要有返回值
int main()
{
.....;
.....;
return 0;
}
你说输入4个,就读了3个。
scanf 写成scanf ("%d %d %d",&a,&b,&c);更好
否则照你的 就得输 1,2,3 才能正确读入。
热心网友
时间:2023-11-25 23:15
if(y>z);
改
if(xx>z);
热心网友
时间:2023-11-25 23:16
int max(int x, int y,int z)
{
int xx;
if (x > y) xx=x; / xx = x、y 的大值
else xx=y;
if (z > xx) xx=x;
return(xx);
}
你程序中:
if ( y >z ) xx=y;
else xx=z;
应当有问题,在于,你无法确认 y 是 x、y中比较大的那个值
热心网友
时间:2023-11-25 23:16
逻辑上有点问题。
你需要做的是将xy中的较大者再与z进行比较,也就是xx,而不是直接拿y来和z做比较。
if(x>y) xx=x;
else xx=y;
if(xx<z)
xx=z;
else
xx=xx;
return xx;