有人能告诉我为什么我的 if/else 语句不起作用吗?

标签 c if-statement

我尝试过一些小细节,但似乎无法正常工作。我也不知道为什么!

#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;
}

最佳答案

请尝试一下,它可以按照您的要求工作,请阅读代码中的注释,学习时犯一些错误是正常的。

#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;
}

关于有人能告诉我为什么我的 if/else 语句不起作用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33645039/

相关文章:

C语言将 'char'类型转换为 'int'并保存数据

c - 你如何在 Ubuntu 上编译 OpenGL 程序?

c++ - C++ 引用/指针语法的替代方法

javascript - 如果我将 Google 分析代码放在 IF 语句中,它会起作用吗?

java - Java 中的 if( boolean 条件)

php - if else 条件不适用于 php 中的数组值

java - && (AND) 和 || (OR) 在 IF 语句中

c - 强制 printf 忽略格式

C - 单向链表中的指针和前置

java - 如何在java中翻译C语言的casting?