编译错误求助:Expected declaration specifiers or '…' before '<' token
解决编译错误:Expected declaration specifiers or '…' before '<' token
嘿,这个问题根源很明显——你代码里混进了网页格式的HTML标签,编译器根本不认这些东西!看报错的第5行:
int main(int argc, <span id="IL_AD1" class="IL_AD">char</span> *argv[])// line 5
这里包裹char的<span id="IL_AD1" class="IL_AD">和</span>是网页用来渲染格式的标签,C编译器完全看不懂。当它读到<符号时,本来期望看到的是变量类型这类声明说明符,结果遇到了陌生的语法,直接就触发报错了。
只需要把这些多余的HTML标签删掉,恢复main函数的标准写法就行,修复后的代码如下:
#include<stdio.h> #include<stdlib.h> #include<string.h> int main(int argc, char *argv[])// line 5 { char *ptr; if(argc < 3) { printf("Usage: %s <environment variable> <target program name>\n", argv[0]); } // 补充你原代码中未完成的逻辑部分 }
另外注意一下,你printf语句里的<environment variable>前面多了一个多余的<,记得修正成正常的<environment variable>,避免后续出现不必要的格式问题。
以后从网页复制代码时要留心,别把网页的格式标签也一并复制过来,这类非C语法的内容都会让编译器犯懵的。
内容的提问来源于stack exchange,提问作者mwaqaryb




