C语言指针2

#include <stdio.h>
//指针函数

char *getWord(char);
char *getWord(char c){
    switch(c){
        case 'A': return "Apple";
        case 'B': return "Banana";
        case 'C': return "Cat";
        case 'D': return "Dog";
        default:return "None";
    }
}

int main(){
    char input;
    printf("请输入一个字母:");
    scanf("%c",&input);

    printf("%s",getWord(input));

    //%S 截止于'\0' 


    return 0;
} 
 #include <stdio.h>
//指针函数

char *getWord(char);
char *getWord(char c){
    char str1[]= "Apple";
    char str2[]= "Banana";
    char str3[]= "Cat";
    char str4[]= "Dog";
    char str5[]= "None";
    switch(c){
        case 'A': return str1; //不可以返回局部变量的地址 
        case 'B': return str2; //
        case 'C': return str3;
        case 'D': return str4;
        default:return str5;
    }
}

int main(){
    char input;
    printf("请输入一个字母:");
    scanf("%c",&input);

    printf("%s",getWord(input));

    //%S 截止于'\0' 
    //不会返回正常结果

    return 0;
} 
#include <stdio.h>
//函数指针:指向函数的指针 
int square(int);

int square(int num){
    return num * num;
}

int main(){

    int num;
    int (*fp)(int);
    printf("请输入一个整数:");
    scanf("%d",&num);
    fp = square;
    printf("%d x %d = %d\n", num, num ,(*fp)(num)) ;





    return 0;
}
输入:6
输出:
请输入一个整数:6
6 x 6 = 36
#include <stdio.h>

int add(int, int);
int sub(int, int);

int calc(int (*fp)(int, int), int ,int);
int  (*select(char))(int, int);//返回值为带两个参数的函数指针   (*)(int int) 

int add(int x, int y){
    return x + y;
}

int sub(int x, int y){
    return x - y;
}

int calc(int (*fp)(int, int), int x, int y){
    return (*fp)(x, y);
}

int  (*select(char op))(int, int ){
    switch(op){
        case '+' : return add;
        case '-' : return sub; 
    }


}


int main(){
    int x,y;
    char op;
    int (*fp)(int, int);
    printf("请入一个式子:如1+3:");
    scanf("%d%c%d", &x, &op, &y);

    fp = select(op);
    printf("%d %c %d = %d", x, op, y, calc(fp,x,y));

    return 0;
}
测式 :1+3;2-9
输出:
请入一个式子:如1+3:1+3
1 + 3 = 4
-------------------------
请入一个式子:如1+3:2-9
2 - 9 = -7

猜你喜欢

转载自blog.csdn.net/yang10560/article/details/76727708