[英]C character pointers
所以我在C中有一個結構
struct LData {
char* name;
int age;
int sex; /* 0 = male, 1 = female */
};
那是用
struct LData *create_data(char *name, int age, int sex) {
struct LData *data;
data = malloc(sizeof(struct LData));
data->name = name;
data->age = age;
data->sex = sex;
return data;
}
我嘗試使用
void print_data(struct LData *data) {
char *sex;
if (data->sex == 0) {
sex = "male";
} else {sex = "female";}
printf("%c-%d-%c",data->name, data->age, *sex);
}
但我不斷收到此格式錯誤:
listdata.c: In function _print_data_:
listdata.c:52:2: warning: format _%c_ expects argument of type _int_, but argument 2 has type _char *_ [-Wformat=]
printf("%c-%d-%c",data->name, data->age, *sex);
我知道* name指針弄亂了某些東西,但我不能完全指出它。
對於字符串(指向char的指針),您需要%s
而不是%c
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.