tzkr.net
当前位置:首页 >> C语言中表达式"1?(0?3:2)(10?1:0)"怎么解 >>

C语言中表达式"1?(0?3:2)(10?1:0)"怎么解

首先,真为1,假为0,这是毋庸置疑的。 C语言中>是左结合的,也就是说当两个>在一起的时候先算左边的。 那么3>2是真的,结果就是1; 1>1当然就是假的了。 所以结果为0。

对呀,确实是这样的 因为浮点数的精度是这个 1.0是浮点数,精度是小数点后6位。 所以1.0/3是0.333333,然后乘以3就是0.999999。 这个题目考查的是大家对各种数据类型精度的理解

表达式1一般是判断语句的,如果是true,则返回表达式2,否则返回表达式3。 举个列 :(1>2)?1:2 ,因为10)?2:2, 因为1>0的,结果是true,所以返回表达式2。 如果表达式1 的值为真,那么以表达式2 的值作为整个条件表达式的值,否则以表达式3 的...

应当是逻辑表达式: (3+5)!= 0 吧? 运算符 是 != 即 “不等于”。 如果是 (3+5)!= 0 , 那么它是逻辑表达式, 3+5 得 8, 8 不等于 0 是真的,所以得真。 c/c++等语言中,“真” 用 1表示,( 假 用 0 表示)所以得 1。

-3 < -2 为 1 而 1 < -1 为 0 所以 C 语言是不能这么写复合条件的,得用 -3 < -2 && -2 < -1

你得说你这个是用在什么地方的,一般这种都是用来直接初始化数组的。像你这个 int a[]={3,2,1,0};就是可以用来初始化一个一行四列的数组。

C语言中,整数相除,结果还是整数,取整,不进行四舍五入,直接丢掉小数部分 数学中1/2=0.5,C语言取整为0,同理: 数学中5/2=2.5,C语言取整为2

#includevoid main() { int i,s; for ( i=1,s=0;i

A?B:C的意思是如果A为真,则取B,否则取C。 在C语言中没有连等式,也就是2>1>0不能放在一起看,先看2>1为真,所以这个表达式的值为1,再看(2>1)>0,也就是判断1>0,为真,所以取3>2>1的真值为0。

网站首页 | 网站地图
All rights reserved Powered by www.tzkr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com