若有定义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]);
D
举一反三
- 若有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
内容
- 0
#include [stdio.h]main( ){ int a[ ]={1, 2, 3, 4, 5, 6}; int x, y, *p; p = &a[0]; x = *(p+2); y = *(p+4); printf(“*p=%d, x=%d, y=%d\n”, *p, x, y);} 运行结果为_____________
- 1
以下程序的输出结果是() main( ) { int i , x[3][3]={9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1} , *p=&x[1][1] ; for(i=0 ; i<4 ; i+=2) printf("%d " , p[i]) ;
- 2
如果定义int a[10], *p=a ; 则不与a[5]等价的是______。 A: p+5 B: *(a+5) C: *(p+5) D: p[5]
- 3
分析以下程序的运行结果#include <;stdio.h>;main( ){ int a[ ]={1, 2, 3, 4, 5, 6};int x, y, *p;p = &a[0];x = *(p+2);y = *(p+4);printf(“*p=%d, x=%d, y=%d\n”, *p, x, y);}
- 4
如果定义int a[10], *p=a ; 则不与a[5]等价的是______。? p+5|*(a+5)|*(p+5)|p[5]