如图就是一个例子(设计一个函数取最大值)
(注:第四行括号下是有下划线的这里无法显示)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int Max(int x, int y);
{
if (x > y)
return x;
else
return y; }
int main()
{
int a, b,c;
scanf("%d%d",&a, &b);
c = Max(a, b);
printf("%d\n", c);
return 0;
}
我思来想去到底是什么原因呢?对比了好久才发现原来是第一行代码不能有分号。这里又要涉及函数声明和函数定义了。
函数的定义
在编写的程序中,函数的定义只能有一次。函数首部(例如上图第二行所有代码就是函数首部)与花括号间不能加分号。
简单比喻来说就是这里有三年二班铁柱同学,这样就告诉了编译器有这样一个人
函数声明是一个说明语句,必须以分号结束。
简单比喻来说我要让铁柱同学干某某事,编译器就能有直接调用。
下图是去掉第二行的分号后
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int Max(int x, int y)
{
if (x > y)
return x;
else
return y; }
int main()
{
int a, b,c;
scanf("%d%d",&a, &b);
c = Max(a, b);
printf("%d\n", c);
return 0;
}
最后一句这里#define _CRT_SECURE_NO_WARNINGS是为了调用是scanf函数,我使用的visual studio 2017