C++ 中 赋值语句作为 if条件

2025-03-13 09:21:50
推荐回答(3个)
回答1:

你是不是写错了if 的判断条件呢?我想你的原意是对a和b+c的值进行比较判断吧,应该写为if( a == b+c ),这是用于判断,由于a为5,b+c为1,所以,5不等于1,进入到else子句中,即输出$ $ $。若你写为if ( a = b+c ),则表明首先是对a进行赋值,a的值变为了1(因为b+c的值为1),由于1为true,所以,就是if ( true ),显然执行cout << "* * *\n"。希望对你有所帮助。这些是C++的基础知识,要继续打牢你的基础哦。

回答2:

其实这边的if条件简写了,完整的应该是if((a=b+c) == true),就是先做一个赋值,令a=b+c,然后判断a是否为真,为真输出*,否则输出$ PS:为0是false,非0为true

回答3:

这里的if(a=b+c)在逻辑上原意是要判断是不是a=b+c?但是C++中判断等于要这么写if(a==b+c)
,如果写的是if(a=b+c)那么这是一个赋值语句在任何情况下都是为真的判断,所以就会直接打印***