#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