c语言函数的参数中有 报错,C语言函数参数

C语言函数参数教程

在 C 语言中,函数的形参可以没有,也可以有任意多个,同时,在 C 语言中,如果我们省略函数参数那么表示可以传入任意的函数参数,因此,如果我们不想要函数参数,最好使用

C语言函数参数详解

语法

type funcName(paramType1 param1, paramType2 param2){

// 执行语句...

return val

}

参数

参数

描述

type

函数的返回值类型,如果没有任何返回值,则写 void,不可以死省略不写。

funcName

函数名。

paramType1

函数参数 param1 的类型

param1

函数参数

return

可选,函数返回值使用的关键字。

val

函数需要具体返回的值。

说明

我们定义了一个函数 funcName,该返回的返回值类型是 type,如果没有返回值,则写 void。

该函数有两个参数,分别为 paramType1 类型的参数 param1 和 paramType2 类型的参数 param2,函数的返回值为 val。

案例

寻找最大数

用函数,实现寻找两个数的最大公约数

#include

int gcdNormal(int x, int y){

int n = 0;

if (x > y)

{

n = y;

}

else

{

n = x;

}

int i = 0;

for(i = n; i >= 1; i--)

{

if (x % i == 0 && y % i == 0)

{

return i;

}

}

return 1;

}

int main(){

printf("嗨客网(www.haicoder.net)\n\n");

int gcd = gcdNormal(10, 20);

printf("Gcd = %d\n", gcd);

return 0;

}

程序运行后,控制台输出如下:

2f8c2532f8befe5957be9bc5d95d10c5.png

我们定义了一个函数 gcdNormal,传入两个

函数参数是形参

C 语言的函数参数是函数参数,对函数参数的修改不会影响实参

#include

void change(int x){

x += 100;

}

int main(){

printf("嗨客网(www.haicoder.net)\n\n");

int x = 10;

change(x);

printf("X = %d\n", x);

return 0;

}

程序运行后,控制台输出如下:

245de599e67dd508d9e811fe4b82c757.png

我们定义了一个函数 change(),传入一个 int 类型的参数 a,在函数体中,对该函数的参数实现加 100 的操作。

最后,调用该函数,并传入变量 a,执行完 change() 函数之后,我们再次打印变量 a 的值,发现 a 的值还是 10,并不是加 100 之后的 110。

因为在 C 语言中,函数的参数是形式参数,即是实参的拷贝,所以修改的不是实参,所以 a 的值不会改变。

函数参数任意传递

如果函数的声明中没有写任何参数,那么可以传递任意参数

#include

void printInfo(){

printf("Hello HaiCoder\n\n");

}

int main(int argc, char **argv){

printf("嗨客网(www.haicoder.net)\n\n");

printInfo();

printInfo("HaiCoder");

}

程序运行后,控制台输出如下:

4b55e71b704dfa08d8c37e591fd19664.png

我们定义了一个函数 printInfo,该函数没有任何的参数,我们第一次调用该函数时,没有传入任何参数,第二次调用时,传入了一个参数。

我们看到,两次调用该函数,程序都没有报错,因为,在 C 语言中,函数定义的参数列表没有任何参数,表明可以传入任何参数。现在,我们将程序修改如下:

#include

void printInfo(void)

{

printf("Hello HaiCoder\n\n");

}

int main(int argc, char **argv)

{

printf("嗨客网(www.haicoder.net)\n\n");

printInfo();

printInfo("HaiCoder");

}

程序运行后,控制台输出如下:

c719df1937e8479728271962a97ea1e2.png

我们使用 void 修饰了函数的参数,此时,再次运行程序,我们发现,当我们传入参数时,程序报错,因此,如果函数不接受任何参数,最好使用 void 修饰。

C语言函数参数总结

C 语言中函数的参数,为形式参数,即如果我们通过传值的方式,传递的参数其实是实际参数的一份拷贝,而不是真正的实际参数。

在 C 语言中,函数的形参可以没有,也可以有任意多个,同时,在 C 语言中,如果我们省略函数参数那么表示可以传入任意的函数参数,因此,如果我们不想要函数参数,最好使用 void。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值