标题:新手再次遇到问题请教大侠
只看楼主
BlueTom
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2020-5-20
结帖率:33.33%
已结贴  问题点数:10 回复次数:3 
新手再次遇到问题请教大侠
刚开始学习C语言,遇到不少问题,今天又遇到了:

输入123判断是不是小明的学号,输入456判断是不是小华的学号。如果输入的都不是这两个数字,就输出“这既不是小明的,也不是小华的学号。”

于是我弄了一下代码,但是在运行的时候,无论我输入多少,都只显示小明de学号。请问是哪里有错误?

#include<stdio.h>
#include<stdlib.h>
int main( )
{
      int a;
      printf("看看是不是小明的学号:");
      scanf("%d", &a);
      if (a=123)
         {
             printf("对,这是小明的学号。\n");
          }
        else if (a=456)
          {
             printf("这是小华的学号。\n");
           }
            else
           {
              printf("这既不是小明的,也不是小华的学号。\n");
            }         
             system("pause");
             return 0;
      }
搜索更多相关主题的帖子: int 学号 printf include 输入 
2020-05-28 18:55
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:5 
if (a=123)
改为 if( a == 123 )
下同
2020-05-28 19:03
kangaroo1212
Rank: 1
等 级:新手上路
帖 子:6
专家分:9
注 册:2020-5-24
得分:5 
2楼说的对,你代码里用的是赋值运算符,不是比较运算符的等号。所以也不是一定会输出小明的学号,你要是输入0,结果就会输出“这既不是小明的,也不是小华的学号”。
2020-05-28 19:44
BlueTom
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2020-5-20
得分:0 
回复 2楼 rjsp
谢谢。
2020-05-31 19:40



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-501850-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021282 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved