假设有intarr[10];int*p=&arr[0];下列选项中,和arr[5]等价的是()。
A: arr+5
B: p+5
C: *(p+5)
D: *arr+5
A: arr+5
B: p+5
C: *(p+5)
D: *arr+5
举一反三
- 假设有intarr[10];int*p=&arr[0];下列选项中,和arr[5]等价的是()。 A: arr+5 B: p+5 C: *(p+5) D: *arr+5
- 若有以下定义,int arr[5],*p=arr;,则对arr数组的元素引用正确的是( ) A: *&arr[5] B: arr+2 C: *(p+5) D: p[2]
- 若有说明:int arr[5][5];则对arr数组元素的正确引用是( )。 A: arr[5][5] B: a[0][0] C: arr[1,3] D: arr[1+1][0]
- 预测下面程序的输出:// 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;}
- 对于下面的定义,p=arr;等价于()。struct{ int a; float b;}arr[3],*p; A: p=arr[0]; B: p=&arr[0]; C: p=&arr; D: p=*arr;