C语言报错。\ error C2065: 'x' : undeclared identifier

代码:
#include<stdio.h>

void main()
{
int max(intx,inty);

int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
}

int max(intx,inty)
{
int z;

if (x>y) z=x;
else z=y ;
return(z);
}

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

//x,y和int之间应该有个空格,这样才是对的,一开始的申明也要修改一下

 //程序还可以在精简一下:

#include<stdio.h>

int max(int x,int y); //这个写在main的外面
 void main()

{


 int a,b,c;

 scanf("%d,%d",&a,&b);

 c=max(a,b);

 printf("max=%d\n",c);

}

int max(int x,int y)

{

    return x>y?x:y;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-13
主程序中的x变量没有被定义,因此报错。
undeclared identifier 是指变量未被定义。
以后编程时注意一点就行了。
第2个回答  2013-09-13
#include <stdio.h>

int max(int x,int y);

int main(int argc,char* argv[])
{
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);

return 0;
}

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

重写了下,看看吧,你写得太乱了。

第3个回答  2013-09-13
#include<stdio.h>

int max(int x,int y);

void main()
{
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);
}

第4个回答  2013-09-13
变量X没有定义啊,是不是先使用后定义了哈。希望帮到你。