函数-递归调用-全局变量

举报
吃瓜面包君 发表于 2023/07/23 22:01:18 2023/07/23
【摘要】 在C语言中,函数、递归调用和全局变量是非常重要的概念。下面我将为您解释这些概念,并提供相应的示例代码。1.函数:.函数是一段完成特定任务的可重用代码块。它将一组语句组织在一起,并通过提供输入作为参数,执行特定的操作,并返回结果(如果有必要)。.函数的基本格式:返回类型 函数名(参数列表) { 函数体 }.示例代码:#include <stdio.h>// 带参数的函数int ad...

在C语言中,函数、递归调用和全局变量是非常重要的概念。下面我将为您解释这些概念,并提供相应的示例代码。

1.函数:

.函数是一段完成特定任务的可重用代码块。它将一组语句组织在一起,并通过提供输入作为参数,执行特定的操作,并返回结果(如果有必要)。
.函数的基本格式:返回类型 函数名(参数列表) { 函数体 }
.示例代码:

#include <stdio.h>

// 带参数的函数
int addNumbers(int a, int b) {
    int sum = a + b;
    return sum;
}

// 不带参数的函数
void printMessage() {
    printf("Hello, World!\n");
}

int main() {
    int result = addNumbers(5, 7);
    printf("Sum: %d\n", result);

    printMessage();

    return 0;
}

在上面的示例中,addNumbers() 函数接受两个整数参数并返回它们的和。printMessage() 函数没有参数,它只是打印一条简单的消息。在 main() 函数中,我们调用这些函数来执行相关的操作。

2.递归调用:

.递归是将问题分解成更小的同类问题的过程,并通过调用自身来解决问题的方法。递归调用在函数内部调用自身,直到达到基本情况(停止递归)。
.递归函数包含两部分:基本情况和递归情况。
.示例代码:

#include <stdio.h>

// 阶乘函数(递归调用)
int factorial(int n) {
// 基本情况
if (n == 0 || n == 1) {
return 1;
}
// 递归情况
else {
return n * factorial(n - 1);
}
}

int main() {
int num = 5;
int result = factorial(num);
printf(“Factorial of %d: %d\n”, num, result);

return 0;

}

上面的示例中,factorial() 函数使用递归调用计算一个数的阶乘。如果输入的数是 0 或 1,则返回 1(基本情况)。否则,通过调用自身,将问题转化为更小的同类问题,并将结果相乘(递归情况)。

3.全局变量:

.全局变量是在函数外部定义的变量,可以在程序中的任何位置访问。它们具有全局作用域,可用于多个函数之间共享数据。
.全局变量在程序开始时分配内存,在程序结束时释放内存。
.示例代码:

#include <stdio.h>

int globalVar = 10;  // 全局变量

void modifyGlobalVar() {
    globalVar = 20;  // 修改全局变量的值
}

void printGlobalVar() {
    printf("Global variable: %d\n", globalVar);
}

int main() {
    printGlobalVar();

    modifyGlobalVar();

    printGlobalVar();

    return 0;
}

在上面的示例中,我们定义了一个全局变量 globalVar 并初始化为 10。modifyGlobalVar() 函数修改了全局变量的值为 20。printGlobalVar() 函数在 main() 函数中打印全局变量的值。可以看到,通过修改全局变量,在不同的函数中共享数据。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。