C语言数组问题~~求高手【【详解】】~~~多谢~!

1.#include<stdio.h>main(){inta[5]={2,4,6,8,10},*p.**k;p=a;k=&p;printf("%d",*(p++));pr... 1.#include <stdio.h> main() {int a[5]={2,4,6,8,10},*p.**k; p=a; k=&p; printf("%d",*(p++)); printf("%d\n",++k); } 程序输出结果是_____ 2.#include <stdio.h> #define N 6 main() { char c[N]; int i=0; for(i=0;i<N;i++) c[i]=getchar(); for(i=0;i<N;i++) putchar(c[i]); } 当运行以上程序时输入三行,每行都是在第一列上开始,<CR>代表Enter键: a<CR> b<CR> cdef<CR> 则程序的输出结果是 A.abcdef B.a C.a D.a b b b c cd cdef d e f 3.若有定义:int c[4][5],(*cp)[5];和语句cp=c;则能正确引用c数组元素的是 A.cp+1 B.*(cp+3) C.*(cp+1)+3 D.*(*cp+2) 偶知道程序题讲起来有点麻烦,还是求高手简单点播下~~ 展开
 我来答
帖晨枝慧颖
2019-09-25 · TA获得超过3818个赞
知道大有可为答主
回答量:3155
采纳率:33%
帮助的人:203万
展开全部
1、
printf("%d",*(p++));
语句输出的是2
printf("%d\n",++k);
语句输出的是
p指针的地址+sizeof(int)
2、答案是C
当输入完三行时,c[N]里的数据分别是:{a,<CR>,b,<CR>,c,d}6个数据。
3、答案是D。(*cp)[5]是指向数组的指针,意思是这个数组有5个数据都是指针,cp=c后这5个指针分别存放二维数组c[4][5]的每行的首地址的指针。所以cp是指针的指针。*cp是指针指向c[0][0],*cp+2是指针偏移
指向c[0][2],*(*cp+2)是c[0][2]的值,所以只有它能引用数组的元素。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式