设有 int a=1,b=2,c=3,n执行n=a>b>c后n的结果为
时间: 2024-05-04 08:18:25 浏览: 24
在 C 语言中,a > b > c 这样的语句是不合法的,因为它不满足比较运算符的结合性。实际上,a > b 的结果是一个布尔值,即 0 或 1,而 0/1 再与 c 比较将得到意想不到的结果。因此,要分开比较,可以这样写:
```c
n = (a > b) && (b > c);
```
这里用了逻辑运算符 &&(与运算符),如果 a 大于 b 并且 b 大于 c,那么结果为 1,否则结果为 0。因此,n 的结果为 0。
相关问题
设有:int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b)&&(n=c>d)后n的值是
在执行语句 `(m=a>b)&&(n=c>d)` 时,会先进行 `a>b` 的比较,因为 `a` 的值是 1,`b` 的值是 2,所以结果为 false,即 `m` 的值为 false。
由于 `&&` 运算符是短路运算符,即如果第一个操作数为 false,则不再计算第二个操作数的值,因此 `n=c>d` 不会被执行。
因此,`n` 的值不会被赋值,它的值仍然是初始值 2。
设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为( )。 A. 1 B. 2 C. 4 D. 3
首先,按照运算符优先级,大于号(>)比赋值运算符(=)优先级高,所以 a>b 会先计算,若 a>b 为 true,则 m 的值被赋为 1,否则为 0。同理,c>d 会先计算,若 c>d 为 true,则 n 的值被赋为 1,否则为 0。
因为 b 大于 a,所以 a>b 的结果为 false,所以 m 的值为 0。而 d 大于 c,所以 c>d 的结果为 false,所以 n 的值为 0。
因此,n 的值为 0,选项 A、B、C 都不正确,正确答案是 D。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)