C++程序代码错误(关于函数的)

来源:百度知道 编辑:UC知道 时间:2024/06/17 13:33:55
#include<iostream.h>
char poetry(char a[])
{
int i,j,k;
int m,n;
for(i = 0; i < m; i++)
{
cout<<a[i];
if((i + 1) % 16 == 0)
cout<<endl;
}
cout<<"-------------"<<endl;

for(j=0;j<n;j++)
{

for(int k=0;k<m;k++)
{

if((k/2)%8==j)
cout<<a[k];

}
cout<<endl;
}

return (a[i]);
}
void main()
{
int i;
int m=64,n=8;
char a[]="别人笑我太疯癫,我笑他人看不穿。不见五陵豪杰墓,无花无酒锄作田。";
poetry(a[]);
}
改后的还是不对
#include<iostream.h>
char poetry(char a[])
{
int i,j,k;
int m=64,n=8;
for(i = 0; i < m; i++)
{
cout<<a[i];
if((i + 1) % 16 == 0)
cout<<endl;
}
cout<<"-------------"<<endl;

for(j=0;j&l

在倒数第二行有问题,poetry(a[])应改为:poetry(a),我反问一下,你知道a[]表示什么吗??问题就在这里,a为数组名,表示的是数组的首地址,也就是整个数组,而a[]在二维以上的数组才有意义,当然第九行的也要改为return a;还在在正数第五行的m,n没有赋值,它的值不会是main()中的值,你可以通过参数传进去,也可以把main()中的m=64,n=8放到main()外面,也就是把它声明为全局有效,我没有调试过,但我想改了这些就应该可以了

好不意思,刚才看错了一点

#include<iostream.h>
char poetry(char a[],int a1,int b)
{
int i,j,k;
int m=a1,n=b;
for(i = 0; i < m; i++)
{
cout<<a[i];
if((i + 1) % 16 == 0)
cout<<endl;
}
cout<<"-------------"<<endl;

for(j=0;j<n;j++)
{

for(int k=0;k<m;k++)
{

if((k/2)%8==j)
cout<<a[k];

}
cout<<endl;
}

return a[i];
}
void main()
{
int i;
int m=64,n=8;
char a[]="别人笑我太疯癫,我笑他人看不穿。不见五陵豪杰墓,无花无酒锄作田。";
poetry(a,m,n);
}