有以下程序段:int a[] = {1,2,3,4,5}, *p = &a[1]; printf("%d",p[2]); 其运行结果为( )。 有以下程序段:int a[2][3] = {1,2,3,4,5,6}, *p[2]; p[0] = a[1]; 则*(p[0]+2)所代表的数组元素为( )。 有如下程序段 int *p, a=10, b=1; p=&a; a=*p+b; 执行该程序段后,a的值为____ 。 设已定义int a=1, *b=&a;,则printf(“%d”, *b); 的输出结果是____ 。设已定义char str[ ]=”ABCD”;,则printf(“%s”,str+1);的值是____ 。
时间: 2024-05-02 11:22:06 浏览: 126
c编写的一些程序按行优先顺序列出四维数组A[2][3][2][3]所有元素在内存中存储次序.c
5星 · 资源好评率100%
第一个问题的答案是:3。因为p指向a数组的第二个元素,即2,p[2]就是a数组的第四个元素,即4。
第二个问题的答案是:5。p[0]指向a[1]数组,即{4, 5, 6},*(p[0]+2)就是a[1][2],即5。
第三个问题的答案是:11。因为p指向a的地址,即a的值为10,加上b的值1,结果为11。
第四个问题的答案是:1。因为b指向a的地址,*b就是a的值,即1。
第五个问题的答案是:BCD。因为str+1指向字符串数组str的第二个元素B,%s格式输出字符串,从B开始输出,即BCD。
阅读全文