定义"int a=1,b=2,c=3,d=4;"则表达式"a>b? a:c>d? c:d"的值是多少?
5个回答
展开全部
答案是4,因为:?是右结合的运算符,a>b?
a:c>d?
c:d=a>b?
a:(c>d?
c:d)
扩展资料
整数(int类型的常量)有几种书写形式,程序中的整数一般采用十进制写法。用十进制方式写出的一个整数就是普通数字字符组成的一个连续序列,其中不能有空格、换行或其他字符。C语言规定十进制表示的数字不能是0,除非要写的整数本身就是0。下面是一些整数的列子。
123 304 23278 1 0 906
由于长整数是另外一个不同类型的整数,所以C语言为长整数规定了一种专门写法,其特殊之处是在表示数值的数字序列最后附一个字母“L”或“l”作后缀。由于小写字母“l”容易与数字“1”混淆,建议读者采用大写的“L”。
展开全部
值为4,
?
:是三元运算符."?"前面的是条件,如果条件成立,取"?"后面的值,不成立,取":"后面的值.如例:int
a=1,b=2,c=3,d=4;"a>b?a:c>d?c:d"条件:"a>b"--->a=1,b=2所以条件不成立取":"后面的值c.所以前面的表达式"a>b?a:c"即为c的值3;所以:"(c=3)>(d=4)"--->条件不成立,取d的值4.
?
:是三元运算符."?"前面的是条件,如果条件成立,取"?"后面的值,不成立,取":"后面的值.如例:int
a=1,b=2,c=3,d=4;"a>b?a:c>d?c:d"条件:"a>b"--->a=1,b=2所以条件不成立取":"后面的值c.所以前面的表达式"a>b?a:c"即为c的值3;所以:"(c=3)>(d=4)"--->条件不成立,取d的值4.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
从后面看起c>d?c:d显然c<d,条件不成立,则把d赋值给(c>d)这里把c>d看成一整体,如此,在比较a>b?a:(c>d),显然a<b,而第一步得到(c>d)等于4,那么最后的结果就是4了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个的意思就是,如果第一个数大于第二个数就是第一个数的值,如果小于第二个数的话就比较第三和第四个数,取第三第四个数中的大值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
4
如果
a
比
b
大。返回
a。
如果
a
比
b
小。返回
c
和
d
之间较大的那个数。
如果
a
比
b
大。返回
a。
如果
a
比
b
小。返回
c
和
d
之间较大的那个数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询