若有定义int a[10]={0,1,2,3,4,5,6,7,8,9}, *p=a; 则输出结果不为5的语句为( )。
A: printf("%d",*(a+5));
B: printf("%d",p[5]);
C: printf("%d",*(p+5));
D: printf("%d",&p[5]);
A: printf("%d",*(a+5));
B: printf("%d",p[5]);
C: printf("%d",*(p+5));
D: printf("%d",&p[5]);
举一反三
- 若有int a[10]={1,2,3,4,5,6,7,8,9,0},*p=a;则输出结果不为8的语句为( )。 A: printf("%d",*p[7]); B: printf("%d",p[7]); C: printf("%d",*(p+7)); D: printf("%d",*(a+7));
- 若有以下定义,则*(p+5)表示( )。int a[10],*p=a; A: &a[5] B: a[5] C: &a[6] D: a[6]
- 以下程序的输出结果是 int main(void){ int a[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, *p=&a[3], *q=p+2; printf("%d", *p+*q); return 0; } A: 16 B: 10 C: 8 D: 6
- 若有定义int a[10],*p;则不能使p指向数组元素a[5]的赋值语句是_____。 A: p = a+5; B: p = &a[5]; C: p = *(a+5) D: p = a; p+=5;
- 以下程序的运行结果是main( ) { int a[ ]={1,2,3,4,5,6,7,8,9,10,11,12}; int *p=a+5, *q=NULL; * q=*(p+5); printf("%d %d \n",*p,*q); } A: 运行后报错 B: 6 6 C: 6 12 D: 5 5