3.哪儿错了错了

int a[3][3]; int **p; p =a; 这段代码哪里错了?怎么改_百度知道
int a[3][3]; int **p; p =a; 这段代码哪里错了?怎么改
提问者采纳
int a[3][3]; int **p; p =a; 改成:i畅埂扳忌殖涣帮惟爆隶nt a[3][3]; int **p; p=&a;**p =a; 试试看,希望帮助到你!
提问者评价
其他类似问题
按默认排序
其他6条回答
cannot畅埂扳忌殖涣帮惟爆隶 convert from 'int [3][3]' to 'int ** ' 肯定会爆这个错误的。因为你的a这里表示的是这个2维数组的第一行的首地址也就是&a[0],而你的p指针是一个指向指针的指针,是个二维指针; 而且他们的类型也不相同 a 表示的是int(*)[3],而你的p是表示的是int **。要改的话应该这样;int a[][3] = {{1,2,3},{4,5,6},{7,8,9}};
int *p,**p1; p=&a[0][0]; p1 = &p;
p是指向指针的指针;而a是一个二维数组的首地址,两者的类型是不一样的。应改为:int a[3][3];int *b[3];int **p; for(int i=0;i&3;i++)b[i]=a[i];p=b;
int (*p)[3] =就可以了。注意a是int (*)[3]类型的指针。
你代码没错,这个p是指针的指针,你定义int *p=a;应该可以操作数组了
int a[3][3]; int *p; p=&a;
可是他报错了啊:cannot convert from 'int [3][3]' to 'int ** '
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁c语言编程的大虾帮我看看这个找3*3矩阵的鞍点的程序代码哪里错了,万分感谢!!
c语言编程的大虾帮我看看这个找3*3矩阵的鞍点的程序代码哪里错了,万分感谢!!
#include”stdio.h”Void main(){Int a[3][3],max,maxl,maxh,i,j;Int flag=1;For(i=1;i&=3;i++){For(j=1;j&=3,j++) Scanf(“%d”,&a[i][j]);}For(i=1;i&=3;i++){Max=a(I,1);For(j=2;j&=3;j++){if(a[i][j]&max){Max=a[i][j];Maxl=j;Maxh=I;}For(i=1;i&=3;i++){if(max&a[i][maxl]) {flag=0;} If(flag==1)printf(“andian is%d”,a[maxh][maxl]);}If(flag==0)printf(“no number\n”);}
楼主是在帮别人问吧,你输入上的错误和混乱的排版就不提了,当事人应该知道的,我把你程序设计上的错误批在代码旁边:#include”stdio.h”Void main(){Int a[3][3],max,maxl,maxh,i,j;Int flag=1;For(i=1;i&=3;i++)//数组下标是从0开始的,应该改成:i=0;i&=2;{For(j=1;j&=3,j++)//改成j=0;j&=2 Scanf(“%d”,&a[i][j]);}For(i=1;i&=3;i++)//改成i=0;i&=2{Max=a(I,1);//a(i,1)改成a[i][0]For(j=2;j&=3;j++)//改成j=1;j&=2{if(a[i][j]&max){Max=a[i][j];Maxl=j;Maxh=I;}For(i=1;i&=3;i++)//改成i=0;i&=2{if(max&a[i][maxl]) {flag=0;} //经过这个循环后,i的值已经变了,所以要记得改回来,加一句i=就可以了
if(flag==1) printf(“andian is%d”,a[maxh][maxl]); } //要等这个for循环结束你才知道max是不是这一列的最小数,而不是提着半桶水跑!!所以你这个}应该放前面那个if之前!!If(flag==0)printf(“no number\n”);} //你不将1重新赋给flag,那下一次循环的时候flag到底是0还是1?修改后的程序如下:#include&stdio.h&void main(){ int a[3][3],max,maxl,maxh,i,j,flag=1; for(i=0;i&=2;i++) for(j=0;j&=2;j++) scanf(&%d&,&a[i][j]); for(i=0;i&=2;i++) { max=a[i][0]; for(j=0;j&=2;j++) { if(a[i][j]&max) { max=a[i][j]; maxl=j; } } for(maxh=0;maxh&=2;maxh++) { if(max&a[maxh][maxl]) { flag=0; } } if(flag==1) printf(&鞍点是 %d\n&,a[maxh][maxl]);
if(flag==0) printf(&no number\n&); flag=1; }}
相关知识等待您来回答
编程领域专家拉普拉斯展开式 结果1
3这个行列式可以变形为1
4所以等于0但是直接使用拉普拉斯展开式就是【1*(-2)-1*1】*【(-2)*3-(-3)*4】=-18请问这两个哪_百度作业帮
拍照搜题,秒出答案
拉普拉斯展开式 结果1
3这个行列式可以变形为1
4所以等于0但是直接使用拉普拉斯展开式就是【1*(-2)-1*1】*【(-2)*3-(-3)*4】=-18请问这两个哪
拉普拉斯展开式 结果1
3这个行列式可以变形为1
4所以等于0但是直接使用拉普拉斯展开式就是【1*(-2)-1*1】*【(-2)*3-(-3)*4】=-18请问这两个哪里错了
展开式错了,若按第一列展开则原式=1*[(-2)*3-(-3)*4]+(-1)*[1*3-1*(-3)]=6-6=0硫化钠溶液与氯化铁溶液反应离子方程式是什么?2氯离子+3硫离子=Fe2S3 请问哪里错了?_百度作业帮
拍照搜题,秒出答案
硫化钠溶液与氯化铁溶液反应离子方程式是什么?2氯离子+3硫离子=Fe2S3 请问哪里错了?
硫化钠溶液与氯化铁溶液反应离子方程式是什么?2氯离子+3硫离子=Fe2S3 请问哪里错了?
应该说Fe3+可以氧化S2-,先考虑2Fe3+ + S2- =======S(沉淀)+2Fe2+ 但是也会有Fe2S3沉淀的存在.一般说来,Fe3+具有较强的氧化性,而S2-则具有还原性,因此当Fe3+与S2-相遇时,Fe3+能将S2-氧化成S,而自身被还原为Fe2+,即发生反应:2Fe3++S2-=2Fe2++S↓ Fe3+在酸性条件下,其氧化性要比在碱性条件下强.在FeCl3溶液中加入Na2S,此时Fe3+过量,溶液呈酸性.因此,应发生上述反应.但如果反过来,将FeCl3加入Na2S溶液,Na2S过量,溶液呈碱性,此时Fe3+氧化性减弱.Fe3+和S2-会结合成溶解度极小的Fe2S3沉淀,即:2Fe3++3S2-=Fe2S3↓ 总之哪个过量对反应也是有影响的,因为FeCl3酸性,而Na2S是碱性的lim(x趋于0)(1/x^2-(cotx)^2)答案=2/3..但我这么做哪里错了..._百度作业帮
拍照搜题,秒出答案
lim(x趋于0)(1/x^2-(cotx)^2)答案=2/3..但我这么做哪里错了...
lim(x趋于0)(1/x^2-(cotx)^2)答案=2/3..但我这么做哪里错了...
第二步裂项时,其中的第二个式子已经没了极限.所以不能通分再合并.通分的过程就损失了一个高阶无穷小
同学,记住,陈文灯老师的话,乘除可用等价无穷小替换,加减运算最好不要用,因为掌握不好度会出错,用楼上童鞋的话,损失了一个高阶无穷小,你放大了结果}

我要回帖

更多关于 皇后朕错了 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信