COCCHome 发表于 2023-1-12 18:25:02

char 变量和 if 函数问题

管理密码想设置为Weiwei520,但是输入正确的密码却显示登录失败
#include <stdio.h>
#define CODE_LANGUAGE "C语言"

int main()
{
        char password;
        char usr_name;
        int a;
        char server_name[] = {"COCC Server"};
        char url[] = {"cocc.wdvp.me:50000"};
        char op[] = {"COCCloveyou"};

        printf("您好,您是?\n");
        scanf("%s", usr_name);
        printf("您好,%s!请管理输入密码:", usr_name);
        scanf("%d", &password);

        if (password == "Weiwei520")
        {
                printf("登陆成功!\n");
                printf("本程序使用 %s 制作\n", CODE_LANGUAGE);
                printf("输入一个选项:\n");
                printf("1.查看服务器名称\n2.查看服务器地址\n3.查看服务器管理员\n");
                scanf("%d", &a);

                if (a == 1)
                {
                        printf("服务器名称是:\n%s\n", server_name);
                }
                else if (a == 2)
                {
                        printf("服务器地址是:\n%s\n", url);
                }
                else if (a == 3)
                {

                        printf("服务器管理员是:\n%s\n", op);
                }
                else
                {
                        printf("输入了错误的值\n");
                }
        }
        else
        {
                printf("登录失败\n");
        }

        getch();

        return 0;
}

jhq999 发表于 2023-1-12 18:31:07

两个不一样的指针值当然不相等了

COCCHome 发表于 2023-1-12 18:32:27

jhq999 发表于 2023-1-12 18:31
两个不一样的指针值当然不相等了

那该怎么改

jhq999 发表于 2023-1-12 18:34:51

#include <stdio.h>
#define CODE_LANGUAGE "C语言"
#include <string.h>///////////
int main()
{
      char password;
      char usr_name;
      int a;
      char server_name[] = {"COCC Server"};
      char url[] = {"cocc.wdvp.me:50000"};
      char op[] = {"COCCloveyou"};

      printf("您好,您是?\n");
      scanf("%s", usr_name);
      printf("您好,%s!请管理输入密码:", usr_name);
      scanf("%s", password);//////////////

      if (0==strcmp(password,"Weiwei520"))///////////
      {
                printf("登陆成功!\n");
                printf("本程序使用 %s 制作\n", CODE_LANGUAGE);
                printf("输入一个选项:\n");
                printf("1.查看服务器名称\n2.查看服务器地址\n3.查看服务器管理员\n");
                scanf("%d", &a);

                if (a == 1)
                {
                        printf("服务器名称是:\n%s\n", server_name);
                }
                else if (a == 2)
                {
                        printf("服务器地址是:\n%s\n", url);
                }
                else if (a == 3)
                {

                        printf("服务器管理员是:\n%s\n", op);
                }
                else
                {
                        printf("输入了错误的值\n");
                }
      }
      else
      {
                printf("登录失败\n");
      }

      getch();

      return 0;
}
页: [1]
查看完整版本: char 变量和 if 函数问题