说我有以下内容:
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]){
if (argv[1] == "-s") {
printf("success\n");
}
else{
printf("failed\n");
}
return 0;
}
在 shell 中,当我运行它打印的可执行文件时failed
..
答案1
这是因为您无法在 C 中使用==
or进行字符串比较!=
,因为它们比较基地址,而不是实际内容。要正确比较 C 中的字符串,您必须使用strcmp
.