请教C语言一道指向二维数组指针的题,有3个同学,各学4门课程,输出第n个同学的成绩.错误的程序是这样的:#includevoid main(){void search (float *p,int n);/*这里的 float *p 好像有问题*/float score[3][4]={65,6

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 07:09:05

请教C语言一道指向二维数组指针的题,有3个同学,各学4门课程,输出第n个同学的成绩.错误的程序是这样的:#includevoid main(){void search (float *p,int n);/*这里的 float *p 好像有问题*/float score[3][4]={65,6
请教C语言一道指向二维数组指针的题,
有3个同学,各学4门课程,输出第n个同学的成绩.
错误的程序是这样的:
#include
void main()
{void search (float *p,int n);/*这里的 float *p 好像有问题*/
float score[3][4]={65,67,70,60,80,87,90,81,90,99,100,98};
search(score,2);
}
void search(float *p,int n));/*这里的 float *p 好像有问题*/
{int i;
printf("the score of No.%d are:\n",n);
for(i=0;i

请教C语言一道指向二维数组指针的题,有3个同学,各学4门课程,输出第n个同学的成绩.错误的程序是这样的:#includevoid main(){void search (float *p,int n);/*这里的 float *p 好像有问题*/float score[3][4]={65,6
一、你的 float score 数组定义的是:一个3行、4列的二维浮点数组,数组的元素为浮点数.如果你换个格式书写就清晰了!
float score[3][4]={{65,67,70,60,},{80,87,90,81,},{90,99,100,98}};
在调用的过程中,score 就是这个数组的首地址,指向的是浮点数组{65,67,70,60,}.score + 1 指向的是数组{80,87,90,81,}.
二、你的 float *p 定义的是:一个指向浮点数的指针.这个是一维的.
在调用的过程中,float 指向的是 xx.一个浮点数字.
两个的定义不同,所以参数传递过程中会出错.
三、你的 float (*p)[4] 定义的是:一个指向含有四个元素的浮点数组的指针.
在调用的过程中,float 指向的是{xxx,xx,xx,xx,},由四个浮点数组成的数组.
这时两个定义相同,所以参数传递过程中没有错误.
四、有个建议,你的程序书写格式不清晰,不利于你纠错和修改,应该尽量的清晰、明确,不建议使用简化方式定义参数.
作为一个软件工作者,应该尽量使程序流畅、格式清晰、易读,这是一个软件工作者最基本的职业素养.
格式化后,程序如下,会清晰很多:
#include
void main()
{
void search (float (*p)[4],int n);/*这里的 float *p 好像有问题*/
float score[3][4]={{65,67,70,60,},{80,87,90,81,},{90,99,100,98}};
search(score,2);
}
void search(float (*p)[4],int n)/*这里的 float *p 好像有问题*/
{
int i;
printf("the score of No.%d are:\n",n);
for(i=0;i

请教C语言一道指向二维数组指针的题,有3个同学,各学4门课程,输出第n个同学的成绩.错误的程序是这样的:#includevoid main(){void search (float *p,int n);/*这里的 float *p 好像有问题*/float score[3][4]={65,6 C指针问题迷惑中,(*p)[4]和*p到底有什么区别?自学,谭浩强的C语言书,多维数 组指针变量,设有一个二维数组a[3][4],下面是书中原话:“(2)指向由m个元素组成的一维数组的指针变量.上例的指针 C指针问题迷惑中,(*p)[4]和*p到底有什么区别?自学,谭浩强的C语言书,多维数 组指针变量,设有一个二维数组a[3][4],下面是书中原话:“(2)指向由m个元素组成的一维数组的指针变量.上例的指针 C语言的指针问题.*(p+i)是代表取值呢还是取地址?有一二维数组a[3][4]={{56,45,89,90},{13,34,56,45},{65,55,34,68}}如果我定义指针*P,指向首地址,*(p+i)就能取到数组中的值.但如果我定义指针(*p)[4],指 若有定义int(*p)[3]; 则定义了一个名为p的指针变量 它可以指向每行有三个整数元素的二维数组请问如何理解这句话和此定义 为什么是二维数组? 8.32 C语言,有下列定义语句char s[3][10],(*k)[3],*p下列赋值语句是正确的是p=sp=kp=s[0];k=s求解求为什么不是说一维指针指向不能和二维数组么? c语言中*s++=*p是什么意思*s和*p是指向数组的指针 C语言中若定义数组和指向数组的指针,其中元素的地址可用哪几种方式表达? c语言中,指针于二维数组的问题假设我们引用二维数组a中的元素a[I][J],指针P指向a.书上说引用方法有四种 p[i]+[j] *(*(p+i)+j) (*(p+i))[j]) *(p[i]+j)为什么要弄得这么复杂啊,而且看不懂为什么可以这 C语言中指针引用二维数组元素问题假设a是一个3行4列的二维数组,请问为什么a[0]与*(a+0)是等价的,我的理解是二维数组名a既然是该数组首元素的地址,那么(a+0)也是一个地址,“*(a+0)”就 C语言、二维数组指针中的 * 和 &我看的是谭的那本C,有书的可以翻下吧(没书的看我的叙述吧),244、245页,看的我很迷茫啊1、对于二维数组a[3][4], a+i 和 *(a+i) 怎么会是一样的呢?书上的那 用C语言在主函数中定义和初始化一个二维数组a[3][4]和一个指针数组,采用指针数组去访问数组元素a[2][4]; 用C语言在主函数中定义和初始化一个二维数组a[3][4]和一个指针数组,采用指针数组去访问数组元素a[2][4] 指向数组的指针和指向数组的元素的指针有何区别?数组名和指针变量名有何区别? 一、 判断对错,正确的打“√”,错误的打“×”.(8分,每题1分)1. 指针变量和变量的指针是同一个名词不同说法.( )2. 在C语言中,二维数组元素是按行存放的.( )3. 数组不可以整体赋 C语言关于指针和二维数组的问题.准备将a[m][n]赋给指针时.定义指针时*p *p[N] (*p)[N]这有什么区别?p+1.对于这3种情况意义是一样的吗? c++有一道题困扰了我好久,定义指向数组的指针q的语句正确的是( )A int *q[2]; B(int * )q[2];C int (*q)[2] ; D int *q[]; C语言中,有a[n]、b[n]两个数组,其中a数组元素值已知,要使b数组元素和a数组元素相等,我记得直接写b = a是不对的,这样就相当于使b的数组指针指向了a,一旦a数组元素的值改了,b也会跟着改,只能