【发布时间】:2010-02-16 10:53:26
【问题描述】:
为什么这不起作用? 当我尝试使用 -l 或 -s 作为第一个参数时,if 语句不使用。他们总是去 else 语句。
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
if (argv[1] == "-l")
{
printf("Yay!\n");
}
else if (argv[1] == "-s")
{
printf("Nay!\n");
}
else
{
printf("%s\n", argv[1]);
}
return 0;
}
【问题讨论】:
-
你如何尝试运行它,会发生什么?
-
“不工作”是什么意思?输入是什么?输出是什么?
-
您可能已经知道这一点,但在尝试使用
argv[1]之前,您还应该检查是否为argc > 1。 -
大部分
#includes 对于这个片段来说是不必要的......
标签: c argument-passing