搜索
首页 电脑/网络 软件

c语言有题不会

以下程序的输出结果是( 60 )main(){int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}:int (*p)[4]=a,i,j,k=0:for(i=0:i<3:i++) for(j=0:j<2:j++) k+=*(*(p+i)+j):printf("%d\n",k):}大哥大姐帮帮忙!

全部回答

2006-02-14

0 0
  a的定义写的明白一点{{1,3,5,7},{9,11,13,15},{17,19,21,23}} 姑且认为有3个包含4个元素的数组,且地址是连续的 *p[4]初始指向a的首地址 关键的地方:*(*(p+i)+j) *(p+i)在i为0、1、2时分别指向3个数组的首地址 那么:*(*(p+i)+j)在j为0、1时分别指向某数组的第0、1个元素 这样就是1+3+9+11+17+19=60 。
  

2006-02-14

78 0
首先理解矩阵,a[3][4]的矩阵如下: 1 3 5 7 9 11 13 15 17 19 21 23 然后理解循环和指针的概念, i循环控制行,j循化控制列,循环嵌套取三行中每行前两个数相加。 即:1+3+9+11+17+19=60 因此输出结果为 60 * 符号为指针操作的取值运算

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
软件
硬件
电脑装机
程序设计
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
软件
多媒体软件
系统软件
办公软件
网络软件
图像处理软件
举报
举报原因(必选):
取消确定举报