注册 登录
编程论坛 C++教室

下面程序有错误提示.原因是什么呢

舞动 发布于 2007-07-25 22:15, 414 次点击
#include<iostream.h>
#define SIZE 5
void main()
{
int data[SIZE][SIZE];
cout<<"输入矩阵";
for(int i=0;i<SIZE;i++)
for(int j=0;j<SIZE;j++)
cin>>data[i][j];
cout<<"输出转置矩阵";
cout<<endl;
for(i=0;i<SIZE-1;i++)
{
for(j=i+1;j<SIZE;j++)
{
int k=data[i][j];
data[i][j]=data[j][i];
data[j][i]=k;
}
}
for(i=0;i<SIZE;i++)
for(j=0;j<SIZE;j++)
cout<<data[i][j]<<endl;
}
error C2065: 'j' : undeclared identifier
3 回复
#2
aipb20072007-07-25 22:19
for(int j=0;j<SIZE;j++)
cin>>data[i][j];

j是个局部变量,只在这里可见,跳出这个循环,j被销毁。

i可以在并列的for循环外用,是vc6.0的bug,不建议这样用。
#3
舞动2007-07-25 22:23
回复:(舞动)下面程序有错误提示.原因是什么呢
那需要怎么改呢,谢了
#4
aipb20072007-07-26 00:05
以下是引用舞动在2007-7-25 22:23:25的发言:
那需要怎么改呢,谢了

在后面次用j时,int j = 0;这样

或者把第一次j写到第一个for外面。

1