gpt4 book ai didi

C 字符指针

转载 作者:太空宇宙 更新时间:2023-11-04 08:36:31 24 4
gpt4 key购买 nike

所以我在 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

关于C 字符指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26044879/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com