我试过玩一些细节,但似乎没有正常工作。我不知道为什么!
#include <stdio.h>
#include <stdlib.h>
int main()
{
char adminName[20];
char userName[20];
adminName[20]= "Admin";
printf("Please, enter your name:");
scanf("%s", userName);
if(userName == adminName) {
printf("Welcome, Admin! \n");
}
printf("Wrong log-in details, %s. \n", userName);
return 0;
}
答案 0 :(得分:0)
在你的问题中有很多错误。 首先
adminName[20] ="admin";
会发出一个警告,而你的管理员阵列不是&#34; admin&#34;,而第20个元素甚至不存在,因为你有最大的adminName [19]。
您无法直接将字符串复制到另一个数组,将其用于字符串复制
strcpy();
为了进行比较,请使用
strcmp();
最好学习string.h头文件。这两个存在于string.h头文件
中答案 1 :(得分:0)
请尝试这个,它可以按照您的意愿工作,阅读代码中的注释,在学习时犯一些错误是正常的。
#include <stdio.h>
#include <stdlib.h>
int main( )
{
char adminName[20];
char userName[20];
strcpy( adminName, "Admin" ); // use strcpy
printf( "Please, enter your name:" );
scanf( "%s", userName );
if ( !strcmp( userName, adminName ) ) // use strcmp
{
printf( "Welcome, Admin! \n" );
}
else // use else
printf( "Wrong log-in details, %s. \n", userName );
return 0;
}