刚学C,简单问题

jsxhh 2004-04-10 12:46:19
我用Microsoft Visual C++ 6.0,刚开始学C,如下代码正常运行:

#include <stdio.h>

int max(int x1,int x2)
{
return (x1>x2?x1:x2);
}

main()
{
int a,b;
while (1)
{
scanf("%d%d",&a,&b);
if (a==0) break;
printf("大数为:%d\n",max(a,b));
}
}

改成如下样子为什么就不行?错在哪里?

#include <stdio.h>

main()
{
int a,b;
int max();
while (1)
{
scanf("%d%d",&a,&b);
if (a==0) break;
printf("大数为:%d\n",max(a,b));
}
}

int max(x1,x2)
int x1,x2;
{
return (x1>x2?x1:x2);
}

...全文
45 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
vconan 2004-04-10
  • 打赏
  • 举报
回复
int max();

这个应该有两个参数的呀~!~
KingI 2004-04-10
  • 打赏
  • 举报
回复
int max(x1,x2)
int x1,x2;
编译器不支持这种写法
jsxhh 2004-04-10
  • 打赏
  • 举报
回复
F:\MyFiles\学习\Turbo C 学习\1\ls.cpp(11) : error C2660: 'max' : function does not take 2 parameters
F:\MyFiles\学习\Turbo C 学习\1\ls.cpp(13) : warning C4508: 'main' : function should return a value; 'void' return type assumed
F:\MyFiles\学习\Turbo C 学习\1\ls.cpp(15) : error C2065: 'x1' : undeclared identifier
F:\MyFiles\学习\Turbo C 学习\1\ls.cpp(15) : error C2065: 'x2' : undeclared identifier
F:\MyFiles\学习\Turbo C 学习\1\ls.cpp(16) : error C2448: '<Unknown>' : function-style initializer appears to be a function definition
F:\MyFiles\学习\Turbo C 学习\1\ls.cpp(16) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

1.exe - 5 error(s), 1 warning(s)
milefo 2004-04-10
  • 打赏
  • 举报
回复
应该没问题吧!
bideyore 2004-04-10
  • 打赏
  • 举报
回复
这个楼上的对。
你在主函数中调用的函数,一定要在其之前有声明或定义,否则编译器会报错没有这个函数声明。它编译到这个函数只会向前寻找。你一定要把函数写在后面,也要在前声明。
jsxhh 2004-04-10
  • 打赏
  • 举报
回复
特意加十分给你们分一下,下次请诸位多帮忙!!!
vconan 2004-04-10
  • 打赏
  • 举报
回复
回复人: jsxhh(小学毕业) ( ) 信誉:100 2004-04-10 13:02:00 得分:0


我想把max()函数代码放到主函数后面,哪位能给出能通过测试的完整代码?

#include <stdio.h>

int max(int,int);

void main()
{
int a,b;
while (1)
{
scanf("%d%d",&a,&b);
if (a==0) break;
printf("大数为:%d\n",max(a,b));
}
}

int max(int x1,int x2)
{
return (x1>x2?x1:x2);
}
jsxhh 2004-04-10
  • 打赏
  • 举报
回复
我刚学到C中函数章节,对大侠们讲的一些名词不是太懂,所以,能否给出max()代码在main()代码之后,并能正确通过的完整代码?我想,这样我会比较它们的区别。
catlan 2004-04-10
  • 打赏
  • 举报
回复
#include <stdio.h>

main()
{
int a,b;
int max(int, int);
while (1)
{
scanf("%d%d",&a,&b);
if (a==0) break;
printf("大数为:%d\n",max(a,b));
}
}

int max(int x1, int x2)
{
return (x1>x2?x1:x2);
}
catlan 2004-04-10
  • 打赏
  • 举报
回复
main函数中的max函数原型声明不对啊。
另外max函数的定义中参数声明也不提倡使用这种旧的方式。
jsxhh 2004-04-10
  • 打赏
  • 举报
回复
我想把max()函数代码放到主函数后面,哪位能给出能通过测试的完整代码?
sharkhuang 2004-04-10
  • 打赏
  • 举报
回复
声明的问题.而且因该加上extern

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧