学点 C 语言(31): 函数 - 声明、定义、调用

180it 2020-03-05 AM 1672℃ 0条

学点 C 语言(31): 函数 - 声明、定义、调用

  1. 如果函数没有声明, 应该在调用前定义:

    include <stdio.h>

/ 定义求大值函数 /
int MAX(int x, int y) {

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

}

/ 定义求小值函数 /
int MIN(int x, int y) {

return x < y ? x : y;

}

int main(void)
{

int a = 5;
int b = 6;

/* 调用函数 */
printf("%d\n", MAX(a,b));
printf("%d\n", MIN(a,b));   
    
getchar();
return 0;

}

  1. 可以在函数头声明:

    include <stdio.h>

int main(void)
{

int a = 5;
int b = 6;

/* 在函数头声明要使用的函数 */
int MAX(int x, int y);
int MIN(int x, int y);

/* 调用函数 */
printf("%d\n", MAX(a,b));
printf("%d\n", MIN(a,b));   
    
getchar();
return 0;

}

/ 定义求大值函数 /
int MAX(int x, int y) {

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

}

/ 定义求小值函数 /
int MIN(int x, int y) {

return x < y ? x : y;

}

  1. 但一般应在文件头声明:

函数原型的声明在实际运用中, 会集中声明在头文件(*.h)里面.

include <stdio.h>

/ 在文件头声明要使用的函数 /
int MAX(int x, int y);
int MIN(int x, int y);

int main(void)
{

int a = 5;
int b = 6;

/* 调用函数 */
printf("%d\n", MAX(a,b));
printf("%d\n", MIN(a,b));   
    
getchar();
return 0;

}

/ 定义求大值函数 /
int MAX(int x, int y) {

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

}

/ 定义求小值函数 /
int MIN(int x, int y) {

return x < y ? x : y;

}

  1. 函数可互调用, 但不能嵌套:

    include <stdio.h>

void PrintSum(int x, int y);
int sum(int x, int y);

int main(void)
{

PrintSum(1,2);  
PrintSum(111,222); 

getchar();
return 0;

}

void PrintSum(int x, int y) {

printf("%d + %d = %d;", x, y, sum(x,y));
putchar('\n');

}

int sum(int x, int y) {

return x + y;

}

  1. 关于无参数、无返回值的函数:

如果函数没有参数, 最好是 fun(void), 不过 fun() 也行;
如果函数没有返回值, 要注明返回类型是 void;
在 C 语言中调用无参函数也要带括号.

include <stdio.h>

void prn(void);

int main(void)
{

prn();  /* 调用无参函数 */

getchar();
return 0;

}

void prn(void) {

printf("ok\n");

}

  1. 声明函数时可以省略形参:

    include <stdio.h>

int sum(int, int, int); / 省略形式参数 /

int main(void)
{

printf("%d\n", sum(1,2,3));

getchar();
return 0;

}

int sum(int x, int y, int z)
{

return(x + y + z);

}

  1. 函数的参数一般不要超过 7 个:

但 C99 可以支持到 127 个参数.

include <stdio.h>

int sum(int, int, int, int, int, int, int);

int main(void)
{

printf("%d\n", sum(1,2,3,4,5,6,7));

getchar();
return 0;

}

int sum(int a, int b, int c, int d, int e, int f, int g)
{

return(a + b + c + d + e + f + g);

}

支付宝打赏支付宝打赏 微信打赏微信打赏

如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!

标签: none

学点 C 语言(31): 函数 - 声明、定义、调用