在libxml和c中工作,我有这个代码snippit:
if (!xmlStrcmp(cur->name, (const xmlChar *)"headline")) {
key = xmlNodeListGetString(doc,cur->xmlChildrenNode,1);
conf_var.headline=key;
xmlFree(key);
}
elseif (!xmlStrcmp(cur->name, (const xmlChar *)"para")) {
key = xmlNodeListGetString(doc,cur->xmlChildrenNode,1);
conf_var.para=key;
xmlFree(key);
}
当我编译它时,我收到以下错误:things.c:29:59:error:expected';'before'{'token
参考的行是elseif行。我真的不知道这里有什么问题,因为在if命令中,相同的代码位于其上方。这有什么不对?
答案 0 :(得分:8)
C中没有elseif
这样的东西。else if
。
答案 1 :(得分:2)
C中没有elseif
,因此编译器认为它是一个语句并等待终结符(;
)。
改为使用else if
。