我正在编写一个函数来打印出C中的三元树。当然,我的方法非常低效,但是除此之外,我需要做的就是打印树而不考虑空间或时间复杂性。
编译器(gcc)在for循环所在的行上给出了一个错误。我无法弄清楚出了什么问题。我甚至将空为空,我已经包含了math.h,所以我真的不知道问题是什么。请帮忙!
这是编译器的输出:
使遍历清洁 gcc -c -Wall traversals.c
traversals.c:在函数'printTree'中:
traversals.c:112:错误:')'标记之前的语法错误
traversals.c:112:错误:')'标记之前的语法错误
make: * [traversals.o]错误1
遗憾的是,它实际上并没有具体说明错误。我认为实际上有2个错误。
void printTree(node_t* node)
{
printf("%d %s %d\n", node->depth, node->string, node->counter); // Print the root node
int level;
double empty = 0;
// Starting from the second level and ending when all the children of a particular level are null
for(level = 2; empty != pow(3, level - 1)); level++)
{
empty = checkLevel(node, level); // Print out any children that match the requested depth level and return the number of empty children
}
}
答案 0 :(得分:8)
你还有一个额外的)
for(level = 2; empty != pow(3, level - 1)); level++)
^ here