#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));
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));
return 0;
}
//函数指针:指向函数的指针
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
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:2-9
2 - 9 = -7