2 therightoforange Therightoforange 于 2015.06.23 18:55 提问

看了不下十遍,看不出语法错误在哪 C语言,在VS2013中运行

#include
//主函数
int main()
{
int max(int x, int y);
int a, b, c;
scanf("%d,%d", &a, &b);
c = max(a,b);
printf("max=%d\n", c);
return 0;
}
//求两个整数中的较大者的max函数
int max(int x, int y)
{
int z;
if (x > y)z = x;
else z = y;
return(z);
}

17个回答

d323641onlydk
d323641onlydk   2015.06.23 19:03

把Max的声明提到main外面

d323641onlydk
d323641onlydk 回复Therightoforange: #include <stdio.h>
2 年多之前 回复
king_lu
king_lu c 标准不允许在函数体内声明其他函数。但是 gcc扩展中支持在函数内定义另一个函数,但是该函数只能在该函数内被调用。
2 年多之前 回复
Therightoforange
Therightoforange 可以的话你运行看看吧,我一直弄不好
2 年多之前 回复
weixin_29252521
weixin_29252521   2015.06.23 19:00

include 啥?

Therightoforange
Therightoforange   2015.06.23 19:02

#include
//主函数
int main()
{
int max(int x, int y);
int a, b, c;
scanf("%d,%d", &a, &b);
c = max(a,b);
printf("max=%d\n", c);
return 0;
}
//求两个整数中的较大者的max函数
int max(int x, int y)
{
int z;
if (x > y)z = x;
else z = y;
return(z);
}

Arvin_ghost
Arvin_ghost   2015.06.23 19:05

include什么?报什么错了?是不是提示函数不安全?

Arvin_ghost
Arvin_ghost 函数声明应该放到main外面吧
2 年多之前 回复
Therightoforange
Therightoforange 未定义标识符
2 年多之前 回复
q286989429
q286989429   2015.06.23 19:11

#include <stdio.h.
函数声明 在int main之前比较好

Therightoforange
Therightoforange 这是这是教科书里的
2 年多之前 回复
zhangweilst
zhangweilst   2015.06.23 19:12

应该是函数声明的问题,不要放在main里面。为什么要把max声明放在main里,故意的?

Therightoforange
Therightoforange 我刚学没几天,你能不能把代码改下然后发上来
2 年多之前 回复
u013806582
u013806582   2015.06.23 19:24

// main(){} 尽量少写函数。
// 遵守良好的编码规范从细微养成。****

u011042188
u011042188   2015.06.23 19:34
 int max(int x, int y);
 int main()

把函数声明放在外面

qq_29253369
qq_29253369   2015.06.23 19:51

#include “stdio.h”//你包含的头文件没说明

//求两个整数中的较大者的max函数
int max(int x, int y) //一般来说被调函数写前面。

if(x<y)
return y;
else
return x;

//主函数
int main()
{
int a, b, c;
scanf("%d,%d", &a, &b);
c = max(a,b);
printf("max=%d\n", c);
return 0;
}

bullzerone
bullzerone   2015.06.23 20:01

在c和c++中,一个函数的定义不能完全包含于另一个函数中,主函数也不行。或者说,一个函数可以在其内部调用其他函数,但是不能含有其他函数
的完整声明和实现。
常用的形式就是先先声明,后实现,

#include

int max(int x,int y);//提前声明max(),在主函数之后实现。这样主函数知道有max(),然后回去后面找到max()的实现部分
//或者你直接把max()函数的声明和定义都放在主函数之前。
//主函数
int main()
{
// int max(int x, int y);//注释掉
int a, b, c;
scanf("%d,%d", &a, &b);
c = max(a,b);
printf("max=%d\n", c);
return 0;
}
//求两个整数中的较大者的max函数
int max(int x, int y)
{
int z;
if (x > y)z = x;
else z = y;
return(z);
}

共17条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片