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

时间:2015-06-10 12:39:27

标签: c

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

int A[10][10]={ '.','.','.','.',

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

               '.','.','.'}

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

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

3 个答案:

答案 0 :(得分: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 };

答案 1 :(得分:1)

使用for循环语句将所有元素分配给'。' ----

char A[10][10];
int i,j;
for(i=0;i<10;i++)
  for(j=0;j<10;j++)
     A[i][j]='.';

答案 2 :(得分:1)

循环是你现在想要阅读的东西。

简单的 for 循环将为您完成。

char A[10][10];
int i,j;
for ( i=0;i <10;++i){
     for ( j=0;j <10;++j)
            A[i][j]='.';
 }

为了进一步证明,使用c / c ++中的google循环