在c语言编程中,fun是开发者自定义的函数名称,本身没有固定的功能,其具体作用由函数体中的代码决定。想要正确调用fun函数,首先需要了解它的定义规则,再根据定义的形式选择对应的调用方式。
fun函数的基本定义格式
在调用fun函数之前,必须先完成函数的定义,或者提前声明函数原型。fun函数的定义格式和普通c语言函数一致,基本结构如下:
// 函数返回值类型 函数名(参数列表) {
// 函数体代码
// return 返回值; // 如果返回值类型不是void,需要添加该语句
// }
// 示例:定义一个无参无返回值的fun函数
void fun() {
printf("这是fun函数的输出内容n");
}
// 示例:定义一个带两个int参数,返回int结果的fun函数
int fun(int a, int b) {
return a + b;
}
fun函数的常见调用方式
1. 无参fun函数的调用
如果fun函数定义时没有参数,也没有返回值(返回值类型为void),调用时直接写函数名加括号即可,不需要传递任何参数,也不需要接收返回值。
#include <stdio.h>
// 提前声明fun函数
void fun();
int main() {
// 调用无参fun函数
fun();
return 0;
}
// 定义无参fun函数
void fun() {
printf("调用了无参fun函数n");
}
2. 带参fun函数的调用
如果fun函数定义时包含参数,调用时需要按照参数列表的顺序,传递对应类型和数量的实参,实参可以是常量、变量或者表达式。
#include <stdio.h>
// 声明带两个int参数的fun函数
void fun(int x, int y);
int main() {
int num1 = 10;
int num2 = 20;
// 传递变量作为实参调用fun函数
fun(num1, num2);
// 传递常量作为实参调用fun函数
fun(5, 15);
return 0;
}
// 定义带参fun函数,打印两个参数的和
void fun(int x, int y) {
printf("两个参数的和为:%dn", x + y);
}
3. 带返回值的fun函数调用
如果fun函数定义时有非void的返回值类型,调用时可以选择接收返回值,也可以不接收,但是通常我们会用对应类型的变量接收返回值来使用。
#include <stdio.h>
// 声明返回int,带两个int参数的fun函数
int fun(int a, int b);
int main() {
int result;
// 调用fun函数,接收返回值
result = fun(3, 4);
printf("fun函数的返回结果是:%dn", result);
// 也可以不接收返回值直接调用
fun(10, 20);
return 0;
}
// 定义fun函数,返回两个参数的乘积
int fun(int a, int b) {
return a * b;
}
fun函数调用的注意事项
- 调用fun函数之前,必须保证函数已经被定义,或者已经提前声明了函数原型,否则编译会报错。
- 传递实参时,实参的类型要和形参的类型兼容,否则可能会出现数据截断或者类型错误的问题。
- 如果fun函数的返回值类型是void,调用时不能使用赋值语句接收返回值,否则会编译报错。
- 函数调用时,参数传递是值传递,修改函数内部的形参不会影响主函数中的实参值。
下面是一个完整的综合示例,展示不同调用方式的组合使用:
#include <stdio.h>
// 函数声明
void print_info();
int add(int a, int b);
int multiply(int x, int y);
int main() {
// 调用无参无返回值函数
print_info();
int a = 5, b = 3;
int sum = add(a, b); // 调用带参带返回值函数,接收结果
printf("5加3的结果是:%dn", sum);
int product = multiply(4, 6); // 调用另一个带参带返回值函数
printf("4乘6的结果是:%dn", product);
return 0;
}
// 定义无参函数
void print_info() {
printf("这是综合示例的打印信息n");
}
// 定义加法函数
int add(int a, int b) {
return a + b;
}
// 定义乘法函数
int multiply(int x, int y) {
return x * y;
}