【发布时间】:2014-08-12 10:54:32
【问题描述】:
typedef struct tree_node
{
int data;
struct tree_node *left;
struct tree_node *right;
}node;
node* newnode(int data)
{
node *node=(node*)(malloc(sizeof(struct tree_node)));
node->data=data;
node->left=NULL;
node->right=NULL;
return(node);
}
代码在这部分显示错误。错误是什么?为什么不编译? 编辑:显示的错误是错误:')' 标记之前的预期主表达式。但是,如果我将代码更改为
node* newnode(int data)
{
node *node1=(node*)(malloc(sizeof(struct tree_node)));
node1->data=data;
node1->left=NULL;
node1->right=NULL;
return(node1);
}
完美运行。这是什么原因?
【问题讨论】:
-
什么错误?请给我们更多信息。
-
你能告诉我们你遇到了什么错误吗?
-
我认为
node *node=(node*)(malloc(sizeof(struct tree_node)));导致错误!将*node更改为*node1-node *node1=(node*)(malloc(sizeof(struct tree_node))); -
请不要将问题标记为 C 和 C++,除非您的问题实际上是关于 C 和 C++。它是哪一个?看起来您已经编写了它以供 C++ 编译器使用。那是对的吗?如果是这样,请删除 C 标签。如果不是,请删除 C++ 标签。任何一种语言都有不适用于另一种语言的正确答案。
-
对不起..新手用户..我编辑了问题
标签: c data-structures tree