二级C语言。。。关于指针与二维数组。。。谢谢
话题:二级C语言。。。关于 指针 与 二维数组。。。谢谢 解决
问题详情:求教各位大神,帮我讲解下吧,谢谢
回答:这是一个数组与指针的问题。这里告诉你,通过指针引用一个二维数组元素的方式:第一种: 最简单的s ;第二种:*(s n +m) 表示第n行第m列元素;第 :*(*(s+n)+m) 表示第n行第m列元素。看到这里,你应该知道,数组中的每个元素的指针是多少了吧。A是想将s 0 0 的指针赋给p,同过上面的3种引用方式中,可以知道s 0 0 的 为s[0][0], s[0]或则*s.所以A错误,C真确。k为一个指向 char 3 的指针,而且p指针的类型是char ,不相同不可以。B错误。D中k,s的类型不一样,错误
参考回答:由题可知:s和k都是不可修改的二维 指针,p是可修改的一位指针,对s或k进行赋值都是不允 的 而s[0]是一维指针(不理解的话看看
话题:有关 C语言语句和指针 数组的题目请教高手~~~~ 回答
问题详情:[3]={1,2,3,4,5,6,,}; ,则a数组的行数为_A_____A)3 B)2 C)
回答:不好意思,刚才给你说错了,先在我运行了程序,你可以看看结果。
参考回答:第一题z=4;第二题应该选A
话题:很无语,一个c语言指针那一章关于 2维 数组与指针的问题
问题详情:我在二维数组哪里有这个问题, 那首 a和指针运算的*a书上
回答:你可以将*a表示出其他的 ,比哪第一个 :*(a+1),如果是一维数组的话,也就相当于a[1],这样看可能会清楚一点。
参考回答:*a 指针所指的数,a 首
话题:求 大神解答
问题详情:下列程序的输出结果是:____ :ONALAMB ------------------------
回答:typedef char(*AP)[5]; AP是指向5个元素的一维数组, (这里主要要理解到对这个类型的++ 或-- 作是以5个内存单元为步长的) AP defy(char *p) 参数是以一维数组的形式传入(实际存贮中a[]也是线性存储的) { int i; for(i=0;ilt;3;i++) p[strlen(p)]='A'; 应该可以理解这个循环是如何将前3个字符串的结束符\0都替换称A的吧 逐个将a[]定义里的\0替换称A然后用strlen去看看: 第一次F\0SEAL\0LION\0LAMB\0 第二次FASEAL\0LION\0LAMB\0 第3次 FASEALALION\0LAMB\0 最终结果a[]="FASEALALIONALAMB" return (AP)p+1; 返回的时候由于p并没有改变,仍然指向a[0]但先 转换p为AP类,即改变+
话题:关于 C语言的二维数组与指针。 求 大神指导, 谢绝粘贴
问题详情:假设二维数组 int A[2][3]={ 1, 2, 3, 4, 5, 6 } ; 假设每个元素所在的
回答:A是二维数组,也 数组A的首 ,*A依然是个 ,是A[0]的 ,A[0]首 依然是0x00,因此*A依然是0x0x;**A才是第一个元素的值1.
参考回答:*A相当于A[0]当然是 拉,(*A)[0]就是1
话题:C语言中二维数组与指针的问题~~~求 大神~~~
问题详情: 本人不太会这道题,明天考试。。。。求 大神帮忙,万分感谢~~~
回答:#includestdio.hint main(){ void findMax(int (*p)[4]); int a[3][4]; int i,j; 读入分数 for(i=0;i3;i++) for(j=0;j4;j++) scanf("%d",a[i][j]); findMax(a); return 0;}void findMax(int (*p)[4]){ int i,j,x,y,max=0; for(i=0;i3;i++) for(j=0;j4;j++) if(p[i][j]max){ x=i; y=j; max=p[i][j]; } printf("max=%d,class=%d,number=%d\n",max,x+1,y+1);}
参考回答:#includecstdioint main(int argc,char *ar[]){int score[3][4],max,cla,num;printf("Please\n"); 提示输入for(int i=0;i3;
话题:C语言的数组和指针问题,谢谢高手的解答!
问题详情:A[2][3][4]={0};1.数组名A是一个 指针,指向的是一个3*4的二维
回答:1)为了帮助你理解,我们先来看看最浅的例子: int B[4]={0}; 这个是什么意思? 首先,它是一个一维的数组,有四个元素,在内存中申请了一块连续的空间(数组的空间都是连续的),0是这组数的首 。想象一把尺上面,0-4cm是这四个元素所在的空间,所以首 为0(cm的位置),也是第一个元素的 。. 如果我们 int * p=B; 会有什么情况? p与B的值一样,都是0,都是这个数组的第一个元素的 ,所以p是指向这个大小为4的数组的第一个元素是吧?(指针的定义是:值是某个东东的 ) 因此 ,我们看出,B的作用就相当于指针p作用..是吧?只是p的值可以变,B不可以,所以B是常指针。是一级的,指向一个int元素(第
参考回答:1,这里指向3*4表示一个一维数组A[2]指向一个二维数组A[3][4].2.这里0 首 , A[3][4]可以理解为一维数组A[3]指向一维数组A[4]
话题:一道C语言题,求 大神解答!解答时把思路也分享一下,谢谢
问题详情:二维数组,不用子函数一道C语言题!解答时把思路也分享一下
回答:/0' %c"串1右移1位 } while(max--) /分别用来存str1和str2的当下比较位置 char * p2=str2; .h串1向右挪动一个位置#include一轮新的比较 { if(*begin==*begin2) /,str2[100]={0}!='/ printf("输出串 printf("n"please input two strings;存放最大串起始位置 while(*p1:\ int max=0;先是串1大循环 { p2=str2; /,num是这一轮比较公共字串长度 char * start;p2是串2首 while(*p2;/, 先让串/); start=p1;} else break;\.还有;0',都比较完了;若新比较出的字串更长;/串2右移1位 } p1++,则替换max值和start内容 {max=num; 1不动; char * p1=str1; ,然后串2从第2个字符开始于串1比较;/\max存放比较后最长字串长度;/有个问题是,效率比较
话题:关于 c语言中打印数组问题,求 大神解答
问题详情:设计一个函数;:如果输入4,打印出一个二维数组打印数组的要
回答:%d"{ ; j } n; for(i=0; for(row=n-j-2; ); free(p[i]):" free(p); p=NULL; printf(" %-6d" { main() nbsp!; p[n-i-1][row]=k++;for(line=i+1; ); p[line][j]=k++; nbsp,最外面一圈赋值完成后; nbsp,j; { nbsp,line; }int } { i; n); nbsp!\n" 不能分配内存; for(i=0; } nbsp.h row--) printf(" line++) i if((p[i]=(int*)malloc(sizeof(int*)*n))==NULL) 为每一行分配指针;=n*n; 释放双指针 stdio,每转一圈为一个大循环;printf(" nbsp,j=0; return;for(line=n-i-2; nbsp!; nbsp,j++) i++; #include),如此循环 { for(j=0; n; for(i=0; k foo(); i i++) { 请输入矩阵的行数; line nbsp,row;} **p=NULL; i++) 分别释放每一行的指针 row n-j;
参考回答:igt,j,n;/iplt,a[i][j]);t" scanf(quot,k;\左竖 { j=p;#define N 500int main(){ int i,q;++j) printf("++i)/.5*n;i k=1;/n-p
话题:C语言 二维数组问题,好麻烦,请大神 回答
问题详情:[2]; prt=a; a[3][2]是一个 两行每行三个数字的二维数组 prt 是含有
回答:你把它分开来看就容易了相当于typedef int IntArray[2];IntArray *ptr;那么ptr就是指向IntArray的指针,即可寻址IntArray数组每个IntArray有2个数的大小 ptr=a;就是指向这个二维数组的开头ptr[x][y] 就能引用a[x][y]的数字了
参考回答:typedef int IntArray[2]; IntArray *ptr; 那么ptr就是指向IntArray的指针,每个IntArray有2个数的大小 ptr=a;就是指向这个二维数组的开
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-

















































