编辑代码

/*函数调用*/
#if 0
#include <stdio.h>
int subtraction(n1,n2){
    return n1-n2;
}
int main () {
	printf("%d\n",subtraction(6,1));
	return 0;
}
#endif

/*递归计算阶乘*/
#if 0
#include <stdio.h>
int fact(int n){
    if(n==1) return 1;
    else    return n*fact(n-1);
}
void main(){
    int n,res;
    printf("请输入一个整数:");
    scanf("%d",&n);
    printf("阶乘是:%d", fact(n));
}
#endif

/*for函数计算阶乘*/
#if 0
#include <stdio.h>
int factoria(int n){
    int i = 1, res = 1;
    for (;i<=n;i++){
        res *= i;
    }
    return res;
}

void main(){
    int n;
    printf("请输入一个整数n:\n");
    scanf("%d",&n);
    // int result = factoria(n);
    printf("阶乘结果是:%d", factoria(n));
}
#endif

/*斐波那契数列*/
#if 0
#include <stdio.h>
int fib(int n){
    if(n<=2) return 1;
    else    return fib(n-1)+fib(n-2);
}
void main(){
    int n=5,res;
    int *p = &n;
    printf("%p\t %p\n",&n,p);
    *p = 6;
    printf("%d %p\n", n, p);
    // printf("请输入一个整数:");
    // scanf("%d",&n);
    // printf("斐波那契是:%d", fib(n));
    for(int i=1;i<=9;i++)
        printf("%d\t", fib(i));
}
#endif

/*指针&数组练习*/
#if 1
#include <stdio.h>
void main(){
    int arr[]={1,2,3,45,5};
    int *p = arr;
    printf("%p %p %p\n", p, &arr[0], arr);//地址
    printf("%d %d %d %d\n",*(p+1),p[1],arr[1],*(arr+1));//表示数组元素
    for(;p<arr+5;p++) printf("%d ",*p);//输出数组
}
#endif