问题描述
- 看了不下十遍,看不出语法错误在哪 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=%dn", c);
return 0;
}
//求两个整数中的较大者的max函数
int max(int x, int y)
{
int z;
if (x > y)z = x;
else z = y;
return(z);
}
解决方案
把Max的声明提到main外面
解决方案二:
include 啥?
解决方案三:
#include
//主函数
int main()
{
int max(int x, int y);
int a, b, c;
scanf("%d,%d", &a, &b);
c = max(a,b);
printf("max=%dn", c);
return 0;
}
//求两个整数中的较大者的max函数
int max(int x, int y)
{
int z;
if (x > y)z = x;
else z = y;
return(z);
}
解决方案四:
include什么?报什么错了?是不是提示函数不安全?
解决方案五:
#include <stdio.h.
函数声明 在int main之前比较好
解决方案六:
应该是函数声明的问题,不要放在main里面。为什么要把max声明放在main里,故意的?
解决方案七:
// main(){} 尽量少写函数。
// 遵守良好的编码规范从细微养成。****
解决方案八:
int max(int x, int y);
int main()
把函数声明放在外面
解决方案九:
#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=%dn", c);
return 0;
}
解决方案十:
在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=%dn", c);
return 0;
}
//求两个整数中的较大者的max函数
int max(int x, int y)
{
int z;
if (x > y)z = x;
else z = y;
return(z);
}