对于下面的定义,p=arr;等价于()。struct{ int a; float b;}arr[3],*p;
A: p=arr[0];
B: p=&arr[0];
C: p=&arr;
D: p=*arr;
A: p=arr[0];
B: p=&arr[0];
C: p=&arr;
D: p=*arr;
举一反三
- 对于下面的定义,p=arr;等价于()。struct{ int a; float b;}arr[3],*p; A: p=arr[0]; B: p=&arr[0]; C: p=&arr; D: p=*arr;
- 对于下面的定义,p=arr;等价于()。 struct { int a; float b; }arr[3],*p;
- 若有以下定义,int arr[5],*p=arr;,则对arr数组的元素引用正确的是( ) A: *&arr[5] B: arr+2 C: *(p+5) D: p[2]
- 预测下面程序的输出:// PROGRAM 1#include <stdio.h>int main(void){ int arr[] = {10, 20}; int *p = arr; ++*p; printf("arr[0] = %d, arr[1] = %d, *p = %d", arr[0], arr[1], *p); return 0;}// PROGRAM 2#include <stdio.h>int main(void){ int arr[] = {10, 20}; int *p = arr; *p++; printf("arr[0] = %d, arr[1] = %d, *p = %d", arr[0], arr[1], *p); return 0;}// PROGRAM 3#include <stdio.h>int main(void){ int arr[] = {10, 20}; int *p = arr; *++p; printf("arr[0] = %d, arr[1] = %d, *p = %d", arr[0], arr[1], *p); return 0;}
- 设有下面的程序段:int arr [10]={1,2,3}, *p=arr; 下列叙述正确的是________ A: arr和p完全相同 B: *(p+i)和&arr [i]相等 C: *(p+4)与arr [4]相等 D: arr++表示arr [1]的地址