0
這段代碼是我爲我的學校任務所做的二叉搜索樹。請求會員的東西不是結構或聯盟,但它的結構
#include "binary_tree.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXLEN 10
Node* create_tree() {
return NULL;
}
void insert_tree(Node** root, char* nname, char* number) {
if (*root==NULL){
Node* node = (Node *)malloc(sizeof(Node));
strncpy(node->name , nname, MAXLEN);
strncpy(node->number , number, MAXLEN);
node->left = node->right = NULL;
*root = node;
return;
}
if (strncmp(*root->name, nname, MAXLEN)) {
insert_tree(&(*root)->left, nname, number);
} else {
insert_tree(&(*root)->right, nname, number);
}
}
void preorder(Node* node, int level){
int i;
if (node==NULL){
//printf("null\n");
return;
}
for (i = 0; i<level; i++) {
printf(" ");
}
printf("%s %d\n", node->name, level);
preorder(node->left, level + 1);
preorder(node->right, level + 1);
}
這是我的完整代碼。 嗯,我不刪碼的必要位,但多數民衆贊成所有我需要知道對不對..
typedef struct t_node {
char name[MAXLEN + 1];
char number[MAXLEN + 1];
struct t_node *left;
struct t_node *right;
} Node;
,這是我使用的節點類型。
在insert_tree處,插入一個節點即可。
但是當我使用strncmp時,它會得到錯誤。 「請求會員在某些不是結構或聯盟」
是不是根節點結構?
我不明白爲什麼我得到的錯誤..
有人可以幫我嗎?
我已經浪費了大約4個小時只來解決這個問題..
對不起我的英文不好,由於國籍
對不起,有一個愚蠢的問題。它解決了 –