将数据输入到 2-D 数组中,这是如何工作的

input data to the 2-d array how this work?

本文关键字:何工作 工作 输入 数据 2-D 数组      更新时间:2023-10-16
 char board[5][6];
 for (int i = 0; i<5; i++)
 cin >> board[i];

 URLPM
 XPRET
 GIAET
 XTNZY
 XOQRS

为什么他们只使用一个变量board[i]而不是board boardp[i][i]?我不明白这是如何工作的。

如果我这样做:

 cout << board[4]

它显示:

 XTNZY
 XOQRS

第 4 行以下的所有输出...
我不明白这种语法的程序。

在 C/C++ 中,字符串可以用字符数组表示,并且它应该是以 null 结尾的字符。

例如,要存储"abcd",您需要一个大小为 5(包括空字符(的 char 数组。

char str[5];    // store 4 characters => a, b, c, d, 

当你声明下面的二维数组时,你创建一个由 5 'char[6]' 组成的数组。并且保留的内存没有初始化(因为它是局部变量(,但在您的情况下有 0,这被认为是 null。

char board[5][6];

因此,如果您在 board[i] 中放置 5 长度的字符,您将拥有以 null 结尾的字符,尽管这不是一个好的做法。但是如果你在 board[i] 中输入 6 个长度的字符,你的字符串将连接到存储在 board[i+1] 中的字符串,因为字符串没有结尾(null(。如果尝试使用 cout 或 printf(( 打印板 [i],它将显示板 [i] 和板 [i+1],因为它们打印字符序列直到面对空。