1、你的fematiso函數(shù),返回值不是個(gè)數(shù)組,你卻把它當(dāng)數(shù)組來用,錯(cuò)了
目前創(chuàng)新互聯(lián)已為1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、蒲縣網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
2、再往細(xì)看,c語言能返回一個(gè)數(shù)組類型嗎?忘了,不確定,或者是需要繞彎才可以,至少你的方法肯定不對。
3、建議:函數(shù)返回值,你可以返回?cái)?shù)組的首地址。主函數(shù)得到地址后,用地址來操作一切。這樣的好處是,不用管到底是什么編譯器,也不用去管是C還是C++還是C#還是JAVA
代碼沒看出問題,可能是你打印的時(shí)候打印得不對,上面的代碼沒有做打印動(dòng)作。
{
int c,m,n,i,j;
int t=0;
int a[20][20];
scanf("%d%d",m,n);
if(mn)
c=n/2+1;
else
c=m/2+1;
for(i=0;ic;i++)
{
for(/*j=0*/j=i;jn-i-1;j++)
{
t++;
a[i][j]=t;
}
for(j=i;jm-i-1;j++)
{
t++;
a[j][n-i-1]=t;
}
for(j=n-i-1;ji;j--)
{
t++;
a[m-i-1][j]=t;
}
for(j=m-i-1;ji;j--)
{
t++;
a[j][i]=t;
}
}
for(i=0;im;i++)
for(j=0;jn;j++)
{
printf("%d ", a[i][j]);
if(((j+1)%n) == 0)
printf("\n");
}
}
line12 我注釋掉你的一部分,后邊換成修改后的;看你代碼的意思是按回環(huán)依次復(fù)制,那么外側(cè)一環(huán)賦值完成后,進(jìn)入內(nèi)一層環(huán)的時(shí)候,i和j都要+1的;你的i+1了,但j沒有。