大力2号实习男友 发表于 2020-3-17 11:26:29

新人求助!!!!

搞了一个整人的小程序,结果输入哪个选项结果都是一样的,哪里出错了?
代码如下:
#include <stdio.h>

int main()
{
        int i;
       
        printf("以下四个选项,你认为你是;\nA傻逼\nB鸹貔\nC弱智\nD以上都是\n你觉得你是:\n");
        scanf("%d",&i);
       
        if(i= 'A')
        {
                printf("傻逼非你莫属!\n");
        }
       
        else if(i= 'B')
        {
                ("鸹(gua)貔(pi)是你没错!\n");
        }
       
        else if(i= 'C')
        {
                printf("没想到你真是!\n");
        }
       
        else if(i= 'D')
        {
                printf("挺有自知之明的哈!\n");
        }
       
        else
    {
        printf("请输入大写选项!\n");
    }
       
        return 0;
}

qiuyouzhi 发表于 2020-3-17 11:34:17

。。。
你要接收的是字符,不是数字啊。。。
scanf的%d改成%c,
int i 改成char i
而且,判断相等使用==,不是=

一个账号 发表于 2020-3-17 11:37:33

#include <stdio.h>

int main()
{
      char i;
      
      printf("以下四个选项,你认为你是;\nA傻逼\nB鸹貔\nC弱智\nD以上都是\n你觉得你是:\n");
      scanf("%c",&i);
      
      if(i= 'A')
      {
                printf("傻逼非你莫属!\n");
      }
      
      else if(i= 'B')
      {
                ("鸹(gua)貔(pi)是你没错!\n");
      }
      
      else if(i= 'C')
      {
                printf("没想到你真是!\n");
      }
      
      else if(i= 'D')
      {
                printf("挺有自知之明的哈!\n");
      }
      
      else
    {
      printf("请输入大写选项!\n");
    }
      
      return 0;
}

sunrise085 发表于 2020-3-17 11:40:54

有几处错误。
1、scanf函数中应该是%c而不是%d
2、几个if语句中的条件都写错了应该是i=='A'i=='B' ……
帮你修改了
#include <stdio.h>

int main()
{
      int i;
      
      printf("以下四个选项,你认为你是;\nA傻逼\nB鸹貔\nC弱智\nD以上都是\n你觉得你是:\n");
      scanf("%c",&i);
      
      if(i== 'A')
      {
                printf("傻逼非你莫属!\n");
      }
      
      else if(i== 'B')
      {
                ("鸹(gua)貔(pi)是你没错!\n");
      }
      
      else if(i== 'C')
      {
                printf("没想到你真是!\n");
      }
      
      else if(i== 'D')
      {
                printf("挺有自知之明的哈!\n");
      }
      
      else
    {
      printf("请输入大写选项!\n");
    }
      
      return 0;
}
页: [1]
查看完整版本: 新人求助!!!!