C学习8

AvalonForLovers / 2023-08-21 / 原文

1、递归做阶乘

#include<stdio.h>
int func1(int x)
{
    int z = 0;
    while (x > 1)
    {
        int y = x - 1;
        z = x * func1(y);
        return z;
    }
}

int main()
{
    int a = 0;
    scanf_s("%d", &a);
    int ret = func1(a);
    printf("阶乘结果是:%d\n", ret);
}

2、斐波那契数列

#include<stdio.h>
int fib(int n)
{
    if (n <= 2)
        return 1;
    else
        return fib(n - 1) + fib(n - 2);
}

int main()
{
    printf("需要第几个?:");
    int n = 0;
    scanf_s("%d", &n);
    int ret = fib(n);
    printf("结果是%d\n",ret);
}

上面是递归的方法做的,下面是循环方法做的

3、数组定义的一些知识

 

 

sizeof结果是7,strlen结果是6,就是因为两者计算的东西不一样。