gpt4 book ai didi

c - 在 C 中打印节点时出错?

转载 作者:行者123 更新时间:2023-11-30 17:46:15 24 4
gpt4 key购买 nike

我正在尝试打印节点中的内容,但它显示以下错误

main.c: In function 'main':
main.c:83:37: error: request for member 'emails' in something not a structure or union
printf("%s\n", tmpNodesUnique[l].emails);
^

运行以下代码后出现上述错误。我在这里做错了什么?

Node *tmpNodesUnique[nodesCount];
int uniqueFound = 0;
tmpNodesUnique[0] = &tmpNodes[0];
for (k=1; k<10; k++){
if (strcmp(tmpNodesUnique[uniqueFound]->emails, tmpNodes[k].emails) != 0){
tmpNodesUnique[++uniqueFound] = &tmpNodes[k];
}
}

for (k=0; k<=uniqueFound; k++){
tmpNodesUnique[k]->emails;
}
for(l = 0; l <= nodesCount; l++){
printf("%s\n", tmpNodesUnique[l]->emails);
}

最佳答案

可能是你的结构Node定义为

typedef struct {
char *emails;
} Node;

这意味着如果你想打印成员 emails你必须使用.运算符而不是 ->运算符

for(l = 0; l <= nodesCount; l++){
printf("%s\n", tmpNodesUnique[l].emails);
}

正如评论中所指出的,以下行不执行任何操作,它是一个不完整的语句

for (k=0; k<=uniqueFound; k++){
tmpNodesUnique[k]->emails;
}

此外,请确保您确实想要 k<=而不是k<看起来也很可疑

关于c - 在 C 中打印节点时出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19371941/

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