设有int i, j, k; 则表达式i=1,j=2,k=3, i&&j&k 的值为1, 设有int i, j, k; 则表达式i=1,j=2,k=3...

\u6ca1\u6709int i,j,k;\u5219\u8868\u8fbe\u5f0fi=1,j=2,k=3,i&&j&k\u7684\u503c\u4e3a

\u9017\u53f7\u8868\u8fbe\u5f0f\u7684\u53d6\u503c\u662f\u6700\u540e\u4e00\u4e2a\u5f0f\u5b50\u7684\u503c\uff0c\u8fd9\u4e2a\u8868\u8fbe\u5f0f\u76f8\u5f53\u4e8e\u4ee5\u4e0b\u8bed\u53e5\uff1a
i=1;
j=2;
k=3;
\u53d6\u503c=i&&j&k=i&&(j&k)=1&&(2&3)=1&&2=1\u6216\u8005\u975e0\u4e3a\u771f

\u7ed3\u679c\u4e3a8\uff1b
\u5177\u4f53\u53ef\u4ee5\u5206\u4e3a\u4e0b\u9762\u7684\u6b65\u9aa4\uff1a
k=k+(i>j?i++:--j);
\u9996\u5148\u5224\u65adi\u662f\u5426\u5927\u4e8ej\uff0c\u5373(i>j?i++:--j)\uff0c\u56e0\u4e3a\u8fd9\u91cci\u548cj\u76f8\u7b49\uff0c\u6240\u4ee5\u8fd9\u91cc\u7684\u7ed3\u679c\u4e3a--j\uff0c\u5373(i>j?i++:--j)=--j=5
\u7136\u540e\u8ba1\u7b97k=k+5\uff0c\u56e0\u4e3ak\u7684\u521d\u59cb\u503c\u4e3a3\uff0c\u6240\u4ee5\u8ba1\u7b97\u540e\u7684\u7ed3\u679c\u4e3a8

因为真和假只有两种状态,所以在表示他们的时候就用了 1 和0 ,楼主如果要用8来表示真也完全可以,但是如果真的有谁在一门语言中设计了用8来表示真的话,我估计这门语言也只有设计者愿意用了。如果想让别人也接受你的程序设计语言,那你得需要花费力气去说明用8表示真的原因。那有什么原因呢,总不能说因为8这个数在中国人的心目中表示吉利,所以就用它,或者说因为8是“发”的意思,所以如果结果为真我们就发了吧。

电脑里只能是0或1

用或运算符(||)|或者与运算符(&&)结果返回的是一个叫“布尔值”的东西,他只有两种可能true和false,分别表示1和0,例如断言函数assert(n)中的形参就要求是布尔值,当n不等于0的时候视为ture ,否则视为false。
总结:1)当你像计算机输入一个要求为布尔值类型的数字时,你输入非0(包括负数),电脑会当作条件真,输入0表示条件假。
2)当电脑返回一个布尔类型时,如果为真,返回1,否则返回0.
更多关于布尔类型的介绍可以自行百度。

扩展阅读:i人和e人测试 ... s v io do ... 三孔插座ln怎么接 ... int a[10]={ }哪里错了 ... 苹果icloud文件正在等待 ... mbti ... int k 10 ... int a[5] ... int a 0 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网