有如下说明 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是(). A) *P+9 B) *(P+8) C) *P+=9 D) P+8A.*P+9等于10B.*(P+8) 相当于a][8],其值为9C.*P+=9相当于*P=*P+9,其值为10D.p+8是a[8]的地址
有如下说明 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是(). A) *P+9 B) *(P+8) C) *P+=9 D) P+8
A.*P+9等于10
B.*(P+8) 相当于a][8],其值为9
C.*P+=9相当于*P=*P+9,其值为10
D.p+8是a[8]的地址
参考答案和解析
B 解析:p是指针,p+8是地址值,D是错的;*p是p的目标变量,即a[0],值为1,所*p+9的值是10,而*p+=9值是重新给a[0]赋了值(1+9);所以A和C也是错的。p+8是地址值,指向a[8],那么*(p+8)的值就是a[8]的值,即9。
相关考题:
有以下程序:includemain(){int a [10]={1,2,3,4,5,6,7,8,9,10},*p=a[3], *q=p+2; 有以下程序: #include <stdio.h> main() { int a [10]={1,2,3,4,5,6,7,8,9,10},*p=a[3], *q=p+2; prinff("%d\n";*p+*q); } 程序运行后的输出结果是( )。A.16B.10C.8D.6
有以下程序 main ( ) int a[10]={1,2,3,4,5,6,7,8,9,10},*p=.a[3], *q=p+2; print f ("%d\n" , *p+*q); 程序运行后输出结查是A.16B.10C.8D.6
若有以下定义: int a[ ]={1,2,3,4,5,6,7,8,9,10},* p=a; 则值为3的表达式是 ( )A.p+=2,* (pd+ +)B.p+=2,* + +pC.p+=3,* p+ +D.p +=2,+ + * p
有如下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},* P=a; 则数值为9的表达式是( )。 A.*P+9SXB 有如下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},* P=a; 则数值为9的表达式是( )。A.*P+9B.木(P+8)C.*P+=9D.P+8
有以下程序: main() { int a[10]={1,2,3,4,5,6,7,8,9,10),*p=a[3],*q=p+2; printf("%d\n",*p+*q); } 程序运行后的输出结果是( )。A.16B.10C.8D.6
有以下程序: main() {int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a[3],*q=p+2; printf("%d\n",*p+*q); }A.16B.10C.8D.6
若有以下的定义, int a[ ]={1,2,3,4,5,6,7,8,9,10},*p=a;则值为3的表达式是 ______。A.p+=2,*(p++)B.p+=2,*++pC.p+=3,*p++D.p+=2,++*p
若有以下定义 int a〔 〕={1,2,3,4,5,6,7,8,9,10),*p=a; 则值为3的表达式是() A、p+=2,*(p++)B、p+=2,*++pC、p+=3,*p++D、p+=2,++*P
单选题若有说明“int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a;”,则数值为9的表达式是()。A*p+9B*(p+8)C*p+=9Dp+8