名字被涂鸦了 发表于 2014-3-14 11:28:18

C语言语法错误。。。求解

#include<stdio.h>
void main ()
{
int max(int x ,int y ,int z);
int a,b,c,d;
scanf("%d,%d,%d",a,b,c);
d=max(a,b,c);
printf("最大值=%d\n",d);
getch();
}
int max(int x,int y,int z);

{
   int k;
   if (x>y,y>z)k=x;
   if (y>x,y>z)k=y;
   else k=z;
   return(k);
大神,语法哪里错了?

zheyitian 发表于 2014-3-14 11:28:19

#include<stdio.h>

int max(int x,int y,int z);        //函数要声明
int main ()
{
//int max(int x ,int y ,int z);        函数声明写在main外
int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);        //这里写错了,少了"&"
d=max(a,b,c);
printf("最大值=%d\n",d);
getchar();
return 0;
}

int max(int x,int y,int z)        //这里不要";"
{
        int k;
        if(x>y){                        //判断最大值实现有问题
                if(x>z)        k=x;        //可以改成这样
                else        k=z;
        }
        else{
                if(y>z)        k=y;
                else        k=z;
        }
   return(k);
}                //这里少了一个"}"
要改的地方都标注了

超级忍者龟 发表于 2014-3-14 12:24:44

学会看错误提示!

名字被涂鸦了 发表于 2014-3-14 16:26:06

zheyitian 发表于 2014-3-14 11:47 static/image/common/back.gif
要改的地方都标注了

真切心,谢谢

||solo 发表于 2014-3-22 22:58:25

错误多了,编译了一下发现你没有调用getch()的头文件,还有定义函数那里不能有分号,最后少了一边大括号。

||solo 发表于 2014-3-22 23:00:18

||solo 发表于 2014-3-22 22:58 static/image/common/back.gif
错误多了,编译了一下发现你没有调用getch()的头文件,还有定义函数那里不能有分号,最后少了一边大括号。

if语句那里也有错误,这程序错误多多啊。

天空下的帷幕 发表于 2014-3-22 23:11:02

学习啦。谢谢

水墨君 发表于 2014-3-23 16:23:22

scanf("%d,%d,%d",a,b,c);改成下面scanf("%d,%d,%d",&a,&b,&c);还要加上#include<conio.h>

||solo 发表于 2014-3-24 01:04:14

定义函数的时候不能加分号。你定义max函数的时候把分号去掉。还有你使用getch()库函数要有文件头#include(conio.h)

只是想学C 发表于 2014-3-24 05:09:14


红色箭头的地方 ,你应该把‘,’换成‘&&’。这里需要一个与逻辑运算符;
蓝色箭头的地方,那是你max()函数的结尾,应该要有一个'}'才对。
页: [1]
查看完整版本: C语言语法错误。。。求解