如何为数组分配繁琐的重复值?

The*_*ist 0 c

我想创建一个10×10的数组,其中包含'.'每个元素.所以我写道:

int A[10][10]={ '.','.','.','.',
Run Code Online (Sandbox Code Playgroud)

(等一下我要写100个句号和100个逗号)

               '.','.','.'}
Run Code Online (Sandbox Code Playgroud)

另一种方法是写'.',10次​​,然后复制粘贴10次,但这仍然需要时间,我不认为这是最聪明的方法.

有更聪明的方法吗?我不想写那么久的句号.

Lun*_*din 9

像这样初始化数组的唯一可行方法是(不幸的是)使用大量的宏:

#define ONE_DOT '.',
#define TWO_DOTS ONE_DOT ONE_DOT
#define FIVE_DOTS TWO_DOTS TWO_DOTS ONE_DOT
#define TEN_DOTS { FIVE_DOTS FIVE_DOTS },
#define TWENTY_DOTS TEN_DOTS TEN_DOTS
#define FIFTY_DOTS TWENTY_DOTS TWENTY_DOTS TEN_DOTS
#define ONE_HUNDRED_DOTS FIFTY_DOTS FIFTY_DOTS


int A[10][10] = { ONE_HUNDRED_DOTS };
Run Code Online (Sandbox Code Playgroud)

  • 它几乎看起来像歌词. (5认同)