标题:if的一个小问题
只看楼主
含泪冰淇淋★
Rank: 2
等 级:论坛游民
帖 子:8
专家分:10
注 册:2011-8-2
结帖率:0
已结贴  问题点数:20 回复次数:6 
if的一个小问题
程序代码:
#include <iostream>
using namespace std;
int main()
{
    enum me{a};
    me we;
    we=a;
    if (we=a)
    {
        cout<<"1";
    }
    else
        cout<<"2";
    return 0;

}




我感觉we=a,应该输出1啊  
怎么编译后  输出2
纠结死我
2011-08-21 22:08
xg5699
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:140
专家分:522
注 册:2011-7-27
得分:3 
  if (we=a) 意思是将a赋值给we;
=符号是赋值,而==这个才是等于符号,很多程序会因为这个不起眼的错误浪费大量的时间,用if语句这个符号一定要注意

都不结贴我郁闷那!
2011-08-21 23:18
博士无双
Rank: 2
等 级:论坛游民
帖 子:32
专家分:65
注 册:2011-7-5
得分:3 
if(we==a)
这才是比较是否相等
2011-08-22 21:34
karst87
Rank: 1
等 级:新手上路
帖 子:1
专家分:3
注 册:2011-8-18
得分:3 
程序代码:
#include <iostream>

using namespace std ;

int main()
{
    enum me{a} ;
    me we ;
    we = a ;
    if( we == a )
    {
        cout << 1 << endl ;
    }
    else
    {
        cout << 0 << endl ;
    }

    return 0 ;
}
2011-08-22 22:30
八画小子
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:705
专家分:2043
注 册:2010-11-11
得分:3 
enum me{a};------------a的值是0;
if(we=a)---------------首先把a赋给we,也就是说把0赋给we,然后把表达式(we=a)的值转换为bool类型,0被转换为false,跳过if之后的语句,开始执行else{}中的语句。
2011-08-23 02:09
落叶深蓝色
Rank: 8Rank: 8
来 自:山东
等 级:蝙蝠侠
帖 子:319
专家分:807
注 册:2010-12-8
得分:3 
==很多人写成=                    ==
2011-08-23 17:42
ergouge
Rank: 1
等 级:新手上路
帖 子:9
专家分:3
注 册:2011-5-19
得分:3 
初学的基本都会犯这个错误的  以后小心就行了哈
2011-08-26 09:54



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




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

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