C语言一道最简单的题 我新手编半天没编成

来源:百度知道 编辑:UC知道 时间:2024/06/09 16:25:55
main()
{
int a,b,c,d;
scanf("%d,%d,%d,&a,&b,&c");
d=max(a,b,c);
printf("max=%d,d");

}
int max(int x,int y,int z )
{int f;
if(x>y)(x>z)f=x;
if(y>x)(y>z)f=y;
else f=z;
return(f);
} 上面 哪些地方错了 请高手分析下 然后写个正确的 20分悬赏

#include <stdio.h>
int main()
{
int a,b,c,d;
scanf("%d,%d,%d,&a,&b,&c");
d=max(a,b,c);
printf("max=%d,d");

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

首先是少了一个头文件,#include<stdio.h>
1、scanf("%d,%d,%d,&a,&b,&c"); 这里的引号放错地方了。 应该是scanf("%d,%d,%d",&a,&b,&c);
2、printf("max=%d,d"); 这里也是引号问题。应该是printf("max=%d",d);
3、if(x>y)(x>z)f=x; 这里应该是if(x>y&&x>z)f=x;
4、if(y>x)(y>z)f=y; 这里也是跟上面一样的问题。应该是if(y>x&&y>z)f=y;
5、另外,你在main()函数里要加一个声明调用int max(int,int,int).

首先int max(int x,int y,int z ) 你在main前写过他的原型吗??
没写过,main就不知道max()是什么意思。
其次你衡旭里,很多语法错误,写个正确的你拿去看吧。

#include "stdio.h"

int max(int x,int y,int z )
{
int f;
if((x>y)&&(x>z))
f=x;