下列程序段的输出结果为______。 int a=7,b=9,t; t=a>b?++a:++b; printf("%d",t); A. 7 B. 9 C. 8 D. 10
时间: 2024-04-02 19:34:16 浏览: 37
根据程序段,变量a的值为7,变量b的值为9。
按照运算符优先级,条件运算符?:的优先级是比赋值运算符=低的,因此表达式t=a>b?++a:++b等价于t=(a>b?++a:++b)。
因为a小于b,所以条件表达式a>b的值为假0,执行++b语句,将变量b的值加1,得到10,然后将10赋值给t。
因此,程序段的输出结果为10,选项D正确。
相关问题
下列程序段的输出结果是______。 int n=9; while(n>6) { n--; printf("%d",n); } A. 987 B. 876 C. 8765 D. 9876
变量n的初始值为9,满足while循环的条件n>6,因此进入循环体。
在循环体中,先将变量n的值减1,得到8,然后输出变量n的值,即输出8。
然后再次判断while循环的条件,变量n的值为8,仍然满足条件n>6,因此继续进入循环体。
在循环体中,先将变量n的值减1,得到7,然后输出变量n的值,即输出7。
再次判断while循环的条件,变量n的值为7,仍然满足条件n>6,因此继续进入循环体。
在循环体中,先将变量n的值减1,得到6,然后输出变量n的值,即输出6。
此时,再次判断while循环的条件,变量n的值为6,不满足条件n>6,因此退出while循环。
因此,程序输出的结果是876。
所以正确答案是B。
int *p, a=10, b=1; p=&a; a=*p+b; 执行该程序段后,a的值为____
执行该程序段后,`a`的值为`11`。
程序段中的第一句`p=&a;`表示将指针`p`指向变量`a`的地址。
第二句`a=*p+b;`表示先取出指针`p`指向的变量`a`的值(即`a`的值),再加上变量`b`的值,最后将结果赋值给变量`a`。因为`p`指向的是变量`a`的地址,所以`*p`就是`a`的值,所以`a`的值为`10+1=11`。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.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)