新手刚学C语言,求大佬们帮忙看看
本帖最后由 Joesph 于 2022-11-6 22:15 编辑int i = 1;
if (i = 2)cout << "ok";
else cout << "nook";
if (10) cout << "10";
else cout << "no10";
以上代码是题目,以上代码运行后的结果为什么是ok 10?不是规定i=1了吗,不是如果i=2才输出ok? 应该写 i == 2,两个等号是判断是否相等,一个等号是赋值 tommyyu 发表于 2022-11-6 22:06
应该写 i == 2,两个等号是判断是否相等,一个等号是赋值
代码是题目 本帖最后由 tommyyu 于 2022-11-6 22:25 编辑
Joesph 发表于 2022-11-6 22:14
代码是题目
i = 2 这个表达式的值是 2,因此 if( i = 2 )被执行的时候就变成了 if( 2 ) 这不是C语言吧?
你这不是CPP吗?一个=号是赋值,付完值算true然后执行打印ok。if(10)无论何时都是对的,打印10 人造人 发表于 2022-11-7 09:09
这不是C语言吧?
啊,我不知道,这是C语言书里面的课后题{:10_266:} Joesph 发表于 2022-11-7 14:58
啊,我不知道,这是C语言书里面的课后题
C语言的书?换一本吧 应该写 i == 2,两个等号是判断是否相等,一个等号是赋值
页:
[1]