我正在尝试将一个字符串与另一个字符串进行比较,如果它们匹配,我希望输出文本“这是正确的”,但我似乎无法让它工作。
代码如下:
int main ()
{
char * password = "Torroc";
char * userInput;
printf("Please enter your password: ");
scanf("%s", userInput);
if (strcmp(password, userInput) == 0) {
printf("That is correct!");
}
}
最佳答案
在您的代码中,userInput 指针没有提供保存您将使用 scanf 调用传递的字符串。在尝试向其保存/分配任何字符串之前,您需要在堆栈中为 cstring userInput 分配空间。所以...
您需要更改以下代码:
char * userInput;
至:
char userInput[200];
这里,200只是一个任意值。根据您的情况,请选择最大值。 (\0) 的字符串长度 + 1。
关于c - C 中比较字符串的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40876217/