【发布时间】:2013-06-27 18:11:34
【问题描述】:
我已经尝试了大约一个小时,并在网上查看了其他地方,但仍然无法完成我想做的事情。这可能应该很简单,但我已经有一段时间没有用 C 编码了,所以我可能会遗漏一些东西。无论如何,我想使用 strcmp 来比较一个名为 char *args 的变量和像“qw”这样的文字。
我在 main 中并传递了一个函数这个 args 变量,当我得到它时,我想像这样进行比较:也许我只是完全以愚蠢的方式这样做。
char *args;
char **svdArray;
int keepTrack = 0;
int beforeTrack = 0;
svdArray = malloc(5*sizeof(char*));
while (1)
{
if(!(strcmp(args[0], "r")) && (!strcmp(args[0], "rr")))
{
svdArray[keepTrack] = args[0];
keepTrack++;
}
我想要发生的只是如果我 args[0] 除了 rr 或 r 之外还有其他内容,我想执行 if 语句中的代码。但是到目前为止,流程从未进入过它,我不知道为什么。
任何帮助将不胜感激!!!
【问题讨论】:
-
您的示例程序甚至在语法上都不正确 - 请出示您的实际代码。
-
args[]无法编译。 -
strcmp在字符串相等时返回0(false),所以可以使用该函数对不同的字符串进行排序
-
C 中的逻辑
or-运算符是||。 -
args[0]是一个char,根据定义不能等于rr。