[英]Error while printing Nodes in C?
我正在嘗試打印節點中的內容,但顯示以下錯誤
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<
它看起來也很可疑
看來您沒有在編譯所需的代碼。
錯誤使用.
電子郵件的成員運算符。 當您在顯示的代碼中使用->
指針運算符時。 因此,代碼是不同的(錯誤與點有關,因為在您明確聲明了指針后,它表示需要結構或聯合成員)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.