如何计算这些C表达式?
首先,这是我正在研究的问题: 在C中计算下列表达式:如何计算这些C表达式?,c,C,首先,这是我正在研究的问题: 在C中计算下列表达式: int x=1, y=7, z=0; char a='m'; 1)a?y-x:x–y 2)x=5?(y=z):(z=y) 我理解其余的问题,但数字(1)让我困惑。。。它不应该是一个逻辑表达式吗? 我的意思是,'m'不能是真的也不能是假的;我如何回答这个问题?这仅仅是“错误”吗?还是我错过了什么 对于数字(2)应该执行语句(z=y),该语句将z更改为7,但它不应该是x==5,我在终端上进行了尝试,它将x和y更改为0 我错过了什么 在C语言
int x=1, y=7, z=0;
char a='m';
1)a?y-x:x–y
2)
x=5?(y=z):(z=y)
我理解其余的问题,但数字(1)让我困惑。。。它不应该是一个逻辑表达式吗?
我的意思是,'m'
不能是真的也不能是假的;我如何回答这个问题?这仅仅是“错误”吗?还是我错过了什么
对于数字(2)应该执行语句(z=y)
,该语句将z
更改为7,但它不应该是x==5
,我在终端上进行了尝试,它将x
和y
更改为0
我错过了什么
'm'
不是零(只有'\0'
是零),因此它是“true”x=(5?(y=z):(z=y))
'm'
为非零,因此其计算结果为true
。您可能需要了解。请注意,z=y
将不会被执行<代码>y=z将被执行-(测试)?如果正确:如果错误代码>是三元结构。为什么不写一个程序呢?毕竟,这是一个编程问题的网站。