다음과 같은 것이 있다고 가정해 보겠습니다.
#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;
}
셸에서 실행 파일을 실행하면 인쇄됩니다 failed
...
답변1
이는 실제 내용이 아닌 기본 주소를 비교하기 때문에 C에서 ==
문자열 비교에 또는 를 사용할 수 없기 때문입니다. !=
C에서 문자열을 제대로 비교하려면 strcmp
.