此处为非“%s” 类型数据以“%s”类型打印错误。
#include <stdlib.h>
#include <stdio.h>
#if(1)
//提供一个打印函数,可以打印任意类型的数据
void printText(void * data, void(*myPrint)(void *)) {
myPrint(data);
}
void myPrintInt(void *data) {
int *num = (int*)data;
printf("%d\n", *num);
}
void test001() {
int a = 10;
printText(&a, myPrintInt);
}
struct Person {
char name[64];
int age;
};
void myPrintPerson(void * data) {
struct Person *p = (struct Person *)data;
printf("姓名:%s 年龄:%d\n", p->name, p->age);
}
void test02() {
struct Person p = { "渣渣猫",26 };
printText(&p, myPrintPerson);
}
int main() {
//test001();
test02();
system("pause");
return 0;
}
#endif