我试图用2d数组填充和打印,但每次我尝试编译它 说未声明的标识符c。并在打印功能中指向c处的箭头。 我尝试通过多种方式声明它,但由于某些原因它不起作用。
bar
答案 0 :(得分:2)
写下面的方式
#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 );
答案 1 :(得分:0)
试试这个:
#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);
}