下列程序的输出结果是【 】。 main() { int a[]={2 4 6} *prt=&a[0]
下列程序的输出结果是【 】。 main() { int a[]={2,4,6},*prt=&a[0],x=8,y,z; for(y=0;y<3;y++) z=(*(ptr+y<x)?*(ptr+y):x; printf("%d/n",z); }
请帮忙给出正确答案和分析,谢谢!
参考解答
正确答案:6
条件运算符的优先级高于赋值运算符,因此本题先计算关系个表达式(*ptr+y)<x)?(ptr+y):x的值,再赋绐变量z,当y=O时,*(ptr+y)=2,而x=8,(*(ptr+y)<x)条件为真,则整个条件表达式的值为*(pry)=2,所以z=2;当y=1时*(ptr+y)=4,(*(ptr+y)<x)条件为真,则整个条件表达式的值为*(ptr+y)=4,所以z=4;当y=2时,*(ptr+y)=6,*((ptr+y)<x)条件为真,则整个条件表达式的值为*(ptr+y)=6,所以z=6;循环结束。因此输出z的结果为6。
相似问题
系统解释(名词解释)
系统解释(名词解释)
关于我国民商法律部门的如下说法中 正确的是( )。A. 商法也适用民法的基本原则B. 民商法中的某些
关于我国民商法律部门的如下说法中,正确的是( )。A 商法也适用民法的基本原则B 民商法中的某些规范属于行政法规范C 民商法中不存在强行性规范D
下程序的输出结果是【 】。 include<stdio.h> define MAX_COUNT4 v
下程序的输出结果是【 】。 include<stdio h> define MAX_COUNT4 void fun( ) main( ) { int count; for(count=1;count<=MAX_COUNT
求任意一个数(用16位二进制码表示)的补码。 main( ) { unsigned int a; 【
求任意一个数(用16位二进制码表示)的补码。 main( ) { unsigned int a; 【 】 ; scanf("%O",& a); printf("%o n",getbits(a)); } un
中国现代化进程中 如何看待法律与习惯的冲突与协调?
中国现代化进程中,如何看待法律与习惯的冲突与协调?
