1

我希望用户只输入一个字符,比如'Y',然后我希望 Y 存储在数组的每个元素中(即:array[9]),这样当我打印时它就像'YYYYYYYYY',或者当它是一个二维数组(即:array[2][2])时,它看起来像:

YYY
YYY
YYY   
4

2 回答 2

1

如果您需要打印每个输入的字符相同的次数,为什么要全部存储?它会浪费内存,只存储一个字符并打印所需的任意次数,所以一个数组就足够了,我猜。但是这个解决方案是我从你的问题中得到的,如果有一些限制,请分享或更好地分享代码......

于 2013-02-23T09:33:06.490 回答
0

您可以使用memset() from<cstring>std::fill() from <algorithm>。所以对于 a char array[9];,你可以这样做:

memset(array, 'Y', 9);

或者:

std::fill(array, array + 9, 'Y');

对于二维数组,您需要单独设置每一行。

使用 memset() 时要小心,因为长度以字节而不是元素给出。例如,如果你有一个int数组,memset(array, 'Y', 9)那就行不通了。std::fill() 没有这个问题。

于 2013-02-23T09:44:14.627 回答