这是我的代码,它在编译时出现以下错误:预期的声明说明符或' ...'之前'<'代币 第5行
//代码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(int argc, <span id="IL_AD1" class="IL_AD">char</span> *argv[])// line 5
{
char *ptr;
if(argc < 3)
{
printf("Usage: %s <<span id="IL_AD2" class="IL_AD">environment variable</span>> <target program name>\n", argv[0]);
<span id="IL_AD3" class="IL_AD">exit</span>(0);
}
ptr = getenv(argv[1]); /* get env var location */
ptr += (strlen(argv[0]) - strlen(argv[2]))*2; /* adjust for program name */
printf("%s will be at %p\n", argv[1], ptr);
}
答案 0 :(得分:0)
这里的问题是你混合了两种完全不同的语言。 HTML
和C
彼此无关,请注意它们甚至适用于不同的平台。
从代码中删除所有HTML
代码,您会看到错误消失。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(int argc, char *argv[])
{
char *ptr;
if(argc < 3)
{
printf("Usage: %s environment variable\n", argv[0]);
}
ptr = getenv(argv[1]); /* get env var location */
ptr += (strlen(argv[0]) - strlen(argv[2]))*2; /* adjust for program name */
printf("%s will be at %p\n", argv[1], ptr);
}
我不知道你为什么这么做,但无论哪种方式都不可能。