当前位置: 代码迷 >> C语言 >> [求助]二维数组的问题
  详细解决方案

[求助]二维数组的问题

热度:312   发布时间:2007-06-09 07:06:57.0
结构体吧!
该简的地方就简单点~
----------------解决方案--------------------------------------------------------

#include<stdio.h>

void main()
{
int cj[2][3];
char name[2][10];
int i,j,temp1;
int sum[2]={0};
char temp2[10];
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
scanf("%d",&cj[i][j]);
scanf("%s",name[i]);
}
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
sum[i]+=cj[i][j];
}

for(i=0;i<2;i++)
for(j=0;j<2;j++)
if(sum[i]>sum[j])
{ temp1=sum[i],sum[i]=sum[j],sum[j]=temp1;
strcpy(temp2[10],name[i]); /*26行*/
strcpy(name[i],name[j]);
strcpy(name[j],temp2[10]); /28行*/
}
for(i=0;i<2;i++)
{
printf("%d",sum[i]);
puts(name[i]);
}
getch();

}

提示错误:26,28行:可能‘temp2’定义以前使用了它在main函数中

这是怎么回事??


----------------解决方案--------------------------------------------------------
strcpy(temp2[10],name[i]); /*26行*/
strcpy(name[i],name[j]);
strcpy(name[j],temp2[10]); /28行*/

strcpy();的两个参数是指针型的数据,也就是要传入要复制的两个字符串
的首地址.
而你的程序传入的参数不匹配.

----------------解决方案--------------------------------------------------------
  相关解决方案