此代码无法运行。有人可以告诉我为什么吗?
#include <stdio.h>
#include <string.h>
main (){
char user[7];
printf("Username\n");
scanf("%s",user);
if(user == 'admin'){
printf("Hello World");
}else{
printf("Bad");
}
return(0);
}
答案 0 :(得分:1)
这是一个有效的例子。您需要使用strcmp来比较字符串。如果字符串相等,strcmp()返回0 如果已知最大输入长度,那么您还应该在scanf中使用长度说明符或列出here中的建议之一,以防止缓冲区溢出。
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv)
{
char user[7];
printf("Username:\n");
scanf("%6s", user);
if(!strcmp(user, "admin"))
{
printf("Hello World");
}
else
{
printf("Bad");
}
return 0;
}
答案 1 :(得分:0)