[c++] 新手问题
时间:2013-10-11
来源:互联网
using namespace std;
int main()
{
int target, trial;
cout << "Target: ";
cin >> target;
cout << "Trial: ";
cin >> trial;
if (target = trial)
{
cout << "Match!" << endl;
}
else
{
cout << "No match!" << endl;
}
system("

return 0;
}
我知个问题出系应该用 target == trial, 但我唔明点解= 会唔得同埋点解净系有0既input会错

作者: 282741 发布时间: 2013-10-11
=是设定
例如
int a = 5;
a这时就设定成5
而a == 5
就是比较a是否等於5
作者: Susan﹏汪汪 发布时间: 2013-10-11
咁0=0点解唔系true?
作者: 282741 发布时间: 2013-10-11
咁0=0点解唔系true?
作者: 282741 发布时间: 2013-10-11
但如果两个都系0
咁0=0点解唔系true?

作者: Susan﹏汪汪 发布时间: 2013-10-11

作者: 282741 发布时间: 2013-10-11
return 嘅value 会系lvalue 嘅reference value
姐系
(target = trial) 回存值是 target
[ '=' 唔系 "==" Susan﹏汪汪 已经解释左]
所以你认为 「0 = 0」 呢个concept 系错
因为佢根本唔系 comparison
所以
当你两个input 都系 '0' 嘅时候
if (target = trial) 系run time 演变成
if (target = 0)
==> if(0) // (因为return 左lvalue)
==> if(false) // c++ 系面 当数字作为condition 嘅时候 '0' 是 false, 'non-0' (e.g. 1,2,3,-1,56165...etc) 是true
所以佢出到黎会系行else 嘅case
作者: programmingproj 发布时间: 2013-10-11

作者: 282741 发布时间: 2013-10-11
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28