<分区>
int main (int argc, **argv)
{
if (argv[1] == "-hello")
printf("True\n");
else
printf("False\n");
}
# ./myProg -hello False
为什么?我意识到 strcmp(argv[1], "-hello") == 0
返回 true...但为什么我不能使用相等运算符来比较两个 C 字符串?
<分区>
int main (int argc, **argv)
{
if (argv[1] == "-hello")
printf("True\n");
else
printf("False\n");
}
# ./myProg -hello False
为什么?我意识到 strcmp(argv[1], "-hello") == 0
返回 true...但为什么我不能使用相等运算符来比较两个 C 字符串?
最佳答案
因为 argv[1]
(例如)实际上是一个指向字符串的指针。所以你所做的只是比较指针。
关于c - 在 C 中使用相等运算符 == 比较两个字符串是否相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3933614/