标题:c语言中的函数指针与数据指针
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<math.h>
void ToUpper(char * s);
void ToLower(char * s);
void show(void (* pf)(char *), char * str);
int main(void){
char *s = "abcdDKFJADFJDF";
printf("输出大写\n");
printf("%s\n",s);
printf("输出小写\n");
ToLower(s);
printf("%s\n",s);
void (* pdf)(char * s);
pdf = ToUpper;
(* pdf)(s);
printf("%s\n",s);
pdf = ToLower;
pdf(s);
printf("%s\n",s);
printf("\n\n调用函数show,传入相应的函数指针\n ");
show(pdf, s);
show(ToLower, s);
show(ToUpper, s);
double x;
double (* pv)(double );
pv = sin;
x = (* pv)(1.2);
printf("x:%lf\n", x);
x = pv(1.2);
printf("x:%lf\n", x);
return 0;
}
void ToUpper(char * s){
while(*s != '\0'){
*s = toupper(*s);
s++;
}
}
void ToLower(char * s){
while(*s != '\0'){
*s = tolower(*s);
s++;
}
}
void show(void (* pf)(char *), char * str){
(* pf)(str);
puts(str);
}