我有这个代码:
if (argv[i] == "-n")
{
wait = atoi(argv[i + 1]);
}
else
{
printf("bad argument '%s'\n",argv[i]);
exit(0);
}
Run Code Online (Sandbox Code Playgroud)
执行此代码时,我收到以下错误:
坏参数'-n'
我真的不知道为什么会这样.谁能解释一下?
Jon*_*ler 14
字符串比较需要C中的函数 - 通常strcmp()来自<string.h>.
if (strcmp(argv[i], "-n") == 0)
{
wait = atoi(argv[i + 1]);
}
else
{
printf("bad argument '%s'\n",argv[i]);
exit(0);
}
Run Code Online (Sandbox Code Playgroud)
strcmp()如果第一个参数在第二个参数之前排序,则该函数返回负值(不一定是-1); 如果第一个参数在第二个参数之后排序,则为正值(不一定为+1); 如果两个值相等则为零.