在 C 中使用 argv 和 strcmp

Using argv and strcmp at C

我在使用 strcmp 函数时遇到了一些问题。每次我 运行 这段代码,它只会打印错误信息,即使我在提示时使用了正确的参数。

if (strcmp(argv[1], "\?") == 0) {
    ajudaPrompt();
}else {
    printf ("ERROR.\n\n");
    system("pause");
}

有人可以帮助我吗?

\ 字符用于开始 C 字符串中的转义码。例如,\n 表示一个换行符。

由于 \? 不是有效的转义码,反斜杠字符将被忽略。所以代码中的结果字符串实际上是 "?".

如果您希望字符串包含文字反斜杠,请使用两个反斜杠。

if (strcmp(argv[1], "\?") == 0) {