我想创建一个10×10的数组,其中包含'.'每个元素.所以我写道:
int A[10][10]={ '.','.','.','.',
Run Code Online (Sandbox Code Playgroud)
(等一下我要写100个句号和100个逗号)
'.','.','.'}
Run Code Online (Sandbox Code Playgroud)
另一种方法是写'.',10次,然后复制粘贴10次,但这仍然需要时间,我不认为这是最聪明的方法.
有更聪明的方法吗?我不想写那么久的句号.
像这样初始化数组的唯一可行方法是(不幸的是)使用大量的宏:
#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)