【发布时间】:2021-08-17 14:18:29
【问题描述】:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *s = (char*)malloc(sizeof(char)*5);
printf("Enter:");
scanf("%5s",s); //s == abcde
if(s == "abcde")
printf("Yes");
else
printf("NO");
return 0;
}
我想检查用户给定的输入,如上所述。但它总是将输出显示为“否”。我做错了什么?
【问题讨论】:
-
OT:
s需要 6 个字符,空终止符需要多一个字符。但是无论如何分配固定数量的内存是毫无意义的,您也可以拥有char s[6];。