【发布时间】:2012-11-08 13:39:51
【问题描述】:
我正在尝试将 X 或 O 放入数组中。但是,它似乎不起作用。它说,“运行时检查失败 #2 - 变量 'row1' 周围的堆栈已损坏。”
char row1[19];
char row2[19];
char row3[19];
char row4[19];
for (int i = 0; i < 20; i++)
{
int r = int(((double) rand() / (RAND_MAX)) + 1);
if (r == 0)
{
row1[i] = 'X';
}
else
{
row1[i] = 'O';
}
}
cout << row1[0] << endl;
如何生成随机 X 或 O?谢谢。
【问题讨论】:
-
for (int i = 0; i < 19; i++)中不是 20,而是 19。 -
@user1477388
int array[n];的有效索引是 0 到n-1。 -
不,你想太多了,
row1[19]给你 19。 -
@user1477388 声明一个数组
row1[19]会创建一个包含 19 个元素的数组。这些可在索引 0 - 18 处访问。您在数组声明中的括号中输入的是数组的 元素数。
标签: c++ visual-c++