C语言求三个数的最大值,看看我哪里写错了?
这是我自己编写的源程序,在compile的时候提示errorC2061:syntaxerror:identifier'y'errorC2660:'max':functio...
这是我自己编写的源程序,在compile的时候提示
error C2061: syntax error : identifier 'y'
error C2660: 'max' : function does not take 3 paramete
error C2061: syntax error : identifier 'y'
error C2065: 'y' : undeclared identifier
error C2065: 'z' : undeclared identifier
执行 cl.exe 时出错.
以下是源程序代码:
#include "stdafx.h"
int main ( int a,int b,int c)
{
int max(int x, y, z);
scanf("%d %d %d", &a, &b, &c);
printf("max=%d\n",max(a, b, c));
return 1;
}
int max(int x, y, z)
{
int temp;
temp=x;
if (x<y)
temp=y;
if (temp<z)
temp=z;
return temp;
}
谢谢各位大虾,小弟刚刚开始自学C语言,望知道的不吝赐教!
Thanks! 展开
error C2061: syntax error : identifier 'y'
error C2660: 'max' : function does not take 3 paramete
error C2061: syntax error : identifier 'y'
error C2065: 'y' : undeclared identifier
error C2065: 'z' : undeclared identifier
执行 cl.exe 时出错.
以下是源程序代码:
#include "stdafx.h"
int main ( int a,int b,int c)
{
int max(int x, y, z);
scanf("%d %d %d", &a, &b, &c);
printf("max=%d\n",max(a, b, c));
return 1;
}
int max(int x, y, z)
{
int temp;
temp=x;
if (x<y)
temp=y;
if (temp<z)
temp=z;
return temp;
}
谢谢各位大虾,小弟刚刚开始自学C语言,望知道的不吝赐教!
Thanks! 展开
11个回答
2009-08-29
展开全部
在声明变量时,可以这么写:
int x, y, z;
一下子声明了3个int型的变量
但是在定义函数的输入参数时,后面两个参数的类型就不能省略了,
int max(int x, y, z);
改为:
int max(int x, int y, int z);
另外,你在主函数main函数中指定参数是错误的,这里不需要参数:
#include "stdafx.h"
int main ( ) //int a,int b,int c这3个参数不需要
{
int a,b,c; //这3个变量的声明放在main函数内部
int max(int x,int y,int z);//改为int x,int y,int z
scanf("%d %d %d", &a, &b, &c);
printf("max=%d\n",max(a, b, c));
return 1;
}
int max(int x,int y,int z)//改为int x,int y,int z
{
int temp;
temp=x;
if (x<y)
temp=y;
if (temp<z)
temp=z;
return temp;
}
int x, y, z;
一下子声明了3个int型的变量
但是在定义函数的输入参数时,后面两个参数的类型就不能省略了,
int max(int x, y, z);
改为:
int max(int x, int y, int z);
另外,你在主函数main函数中指定参数是错误的,这里不需要参数:
#include "stdafx.h"
int main ( ) //int a,int b,int c这3个参数不需要
{
int a,b,c; //这3个变量的声明放在main函数内部
int max(int x,int y,int z);//改为int x,int y,int z
scanf("%d %d %d", &a, &b, &c);
printf("max=%d\n",max(a, b, c));
return 1;
}
int max(int x,int y,int z)//改为int x,int y,int z
{
int temp;
temp=x;
if (x<y)
temp=y;
if (temp<z)
temp=z;
return temp;
}
展开全部
#include "stdio.h"
int main ()
{
int a,b,c;
scanf("%d %d %d", &a, &b, &c);
max(a,b,c);
printf("max=%d\n",max(a, b, c));
return 0;
}
int max(int x, int y, int z)
{
int temp;
if (x<y)
temp=y;
else
temp=x;
if (temp<z)
temp=z;
return temp;
}
修改后! 已运行,正常!
楼主看看代码,有不清楚的补充提问!
函数里的形参定义时,和单条定义变量语句是不同的。
max(int x,int y,int z)
int main ()
{
int a,b,c;
scanf("%d %d %d", &a, &b, &c);
max(a,b,c);
printf("max=%d\n",max(a, b, c));
return 0;
}
int max(int x, int y, int z)
{
int temp;
if (x<y)
temp=y;
else
temp=x;
if (temp<z)
temp=z;
return temp;
}
修改后! 已运行,正常!
楼主看看代码,有不清楚的补充提问!
函数里的形参定义时,和单条定义变量语句是不同的。
max(int x,int y,int z)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include "stdafx.h"
int main ()
{
int a = scanf("%d", &a);
int b = scanf("%d", &b);
int c = scanf("%d", &c);
int result = max(a,b,c);
printf("max=%d\n",result);
return 1;
}
int max(int x,int y,int z)
{
int temp;
temp=x;
if (x<y)
temp=y;
if (temp<z)
temp=z;
return temp;
}
在你的程序的基础上改的...我没调试,
指出你的几点不合理的地方:
1.main()函数能传参数?也许可以....总之我没见过
2.调用一个定义好的函数时不需要写返回类型,int max(int x, y, z);是不行的
3.定义一个函数时,参数要分别写明类型..int max(int x,int y,int z)才可以.
int main ()
{
int a = scanf("%d", &a);
int b = scanf("%d", &b);
int c = scanf("%d", &c);
int result = max(a,b,c);
printf("max=%d\n",result);
return 1;
}
int max(int x,int y,int z)
{
int temp;
temp=x;
if (x<y)
temp=y;
if (temp<z)
temp=z;
return temp;
}
在你的程序的基础上改的...我没调试,
指出你的几点不合理的地方:
1.main()函数能传参数?也许可以....总之我没见过
2.调用一个定义好的函数时不需要写返回类型,int max(int x, y, z);是不行的
3.定义一个函数时,参数要分别写明类型..int max(int x,int y,int z)才可以.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
错了很多地方,我给你改改。
#include <stdio.h>
int max(int x,int y,int z)
{
int temp=x;
if(x<y) temp=y;
if(temp<z) temp=z;
return temp;
}
void main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("MAX=%d\n",max(a,b,c));
}
函数的调用这块你没搞清,回去再看下书。
#include <stdio.h>
int max(int x,int y,int z)
{
int temp=x;
if(x<y) temp=y;
if(temp<z) temp=z;
return temp;
}
void main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("MAX=%d\n",max(a,b,c));
}
函数的调用这块你没搞清,回去再看下书。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先,参数必须先定义再使用;其次在main函数中,键盘扫描的是a,b,c,而x,y,z只是max函数的形参,是需要代入数据的;再次,参数不能在main函数的()里定义。个人观点,还望指正。下面是我改过的程序,在win-tc中是可以用的,你可以试试。
#include "stdio.h"
int a,b,c;
int main()
{ scanf("%d%d%d",&a,&b,&c);
max(a,b,c);
printf("max=%d\n",max(a, b, c));
getch();
}
int max(x,y,z)
{
int temp;
temp=x;
if (x<y)
temp=y;
if (temp<z)
temp=z;
return temp;
}
#include "stdio.h"
int a,b,c;
int main()
{ scanf("%d%d%d",&a,&b,&c);
max(a,b,c);
printf("max=%d\n",max(a, b, c));
getch();
}
int max(x,y,z)
{
int temp;
temp=x;
if (x<y)
temp=y;
if (temp<z)
temp=z;
return temp;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询