从print函数打印2d数组的问题
problems with printing 2d array from print function
我试图填充和打印2d数组,但每次我试图编译它表示未声明的标识符c。并将箭头指向print函数中的c。我尝试了很多方法来声明它,但由于某种原因,它不工作。
#include <iostream>
using namespace std;
void print(char x[][c], int r)
{
for(int r = 0; r < 25; r++)
{
for(int c = 0; c < 25; c++)
{
cout << x[r][c];
}
cout << endl;
}
}
int main()
{
void print(char x[][c], int r);
char p[25][25];
for(int r = 0; r < 25; r++)
{
for(int c = 0; c < 25; c++)
{
if(r==0)p[r][c]='x';
else p[r][c]='o';
}
}
print(p[25][25]);
return(0);
}
这样写
#include <iostream>
using namespace std;
const size_t ROWS = 25;
const size_t COLS = 25;
void print(char x[][COLS], size_t r )
{
for ( size_t i = 0; i < r; i++ )
{
for ( size_t j = 0; j < COLS; j++ )
{
cout << x[i][j];
}
cout << endl;
}
}
int main()
{
char p[ROWS][COLS];
for ( size_t i = 0; i < ROWS; i++ )
{
for ( size_t j = 0; j < COLS; j++ )
{
if ( i == 0 ) p[i][j] = 'x';
else p[i][j] = 'o';
}
}
print( p, ROWS );
return(0);
}
另一种方法是按以下方式定义函数
void print( char ( &x )[ROWS][COLS] )
{
for ( size_t i = 0; i < ROWS; i++ )
{
for ( size_t j = 0; j < COLS; j++ )
{
cout << x[i][j];
}
cout << endl;
}
}
并将其命名为
print( p );
试试这个:
#include <iostream>
using namespace std;
void print(char x[25][25])
{
for(int r = 0; r < 25; r++)
{
for(int c = 0; c < 25; c++)
{
cout << x[r][c];
}
cout << endl;
}
}
int main()
{
char p[25][25];
for(int r = 0; r < 25; r++)
{
for(int c = 0; c < 25; c++)
{
if(r==0)p[r][c]='x';
else p[r][c]='o';
}
}
print(p);
return(0);
}
相关文章:
- 数组C++问题中最大和第二大的数字
- 二维数组问题
- 数组问题:变量周围的堆栈'arr'已损坏
- 无符号字符数组问题
- 数组问题(if (zeds[i].x == zeds[i].x))
- 字符数组问题
- C++中的turbo数组问题
- 输入和输出的2D字符数组问题
- 多维数组问题
- 指针和数组指向数组问题
- 如何随机排列数组问题
- C++ 多维数组问题 - 多次打印条目
- C++ 2D 读入数组问题
- C++读入 2D 数组问题
- 指针和多维数组问题
- C++多项式类,指针数组问题
- 在数组问题(C++)中查找偶数
- 二维std::数组问题
- 向量/数组问题,不能给变量赋索引/不能使用变量作为数组大小(索引)c++
- 指针数组问题