无法锻炼为什么这个C条件失败

Ash*_*Ash 0 c

作为大学任务的一部分,我在编写一些C代码时遇到问题.考虑一下代码:

printf("%s\n", argv[1]);
if ((argv[1] == "--verbose") || (argv[1] == "-v")) {
  printf("%d\n", argc);
}
Run Code Online (Sandbox Code Playgroud)

现在: printf("%s\n", argv[1]);打印"--verbose"所以我知道argv[1] == "--verbose"应该是真的,但该行printf("%d\n", argc);永远不会执行.我不能锻炼为什么.有任何想法吗?

Mat*_*hen 9

使用strcmp功能:

strcmp(argv[1], "--verbose") == 0
Run Code Online (Sandbox Code Playgroud)

== 检查两个指针​​是否具有相同的地址,这不是您想要的.