问题描述
- 请问这个程序错在哪里?
- #include
int main()
{
int max(int xint y);
int abc;
scanf(""%d%d""&a&b);
c=max(ab);
printf(""max=%dn""c);
return 0;
}
int max(int xint y);
{
int z;
if(x>y)z=x;
else z=y;
return(z);
}
构建时出现一个错误
F:Testtest1-3.c(12) : error C2449: found '{' at file scope (missing function header?)
F:Testtest1-3.c(17) : error C2059: syntax error : '}'
执行 cl.exe 时出错.
请问是软件的原因吗?我用的是VC6.0
解决方案
int max(int xint y);
{
....
}
这里多了一个分号。
解决方案二:
第十二行多了一个分号
解决方案三:
函数实现的时候不要分号。
而且
int max(int xint y)
{
int z;
if(x>y)z=x;
else z=y;
return(z);
}
写那么啰嗦干嘛
int max(int xint y)
{
if (x > y) return x; else return y;
}
不就可以了。
解决方案四:
在max函数的定义处多了一个分号
解决方案五:
我改了一下,弄了两个版本,请提问者对照自己的程序看一下。
(1)#include
int main()
{
int abc;
scanf(""%d%d""&a&b);
c=max(ab);
printf(""max=%dn""c);
return 0;
}
int max(int xint y);
{
int z;
if(x>y)z=x;
else z=y;
return z;
}
(2)#include
int max(int xint y);
int main()
{
int abc;
scanf(""%d%d""&a&b);
c=max(ab);
printf(""max=%dn""c);
return 0;
}
int max(int xint y);
{
int z;
if(x>y)z=x;
else z=y;
return z;
}
解决方案六:
#include
第一行改成这样试试
解决方案七:
max函数多了个分号,还有如果要把max函数放到main后面,应在main前定义它,或者把整个max函数放到main前
解决方案八:
谢谢各位 ,由于在大学时没学好,现在在自学C语言,但是不知道选什么教材好,各位前辈推荐下啊,小弟在此谢了。
解决方案九:
int max(int xint y);
如果函数跟main不是在同一个文件中则在main函数上面这样写进行声明
如果是在同一个文件中,则把max函数直接写在main函数的上方就好了,在main中直接使用
解决方案十:
max函数的定义处多了个分号