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

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

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

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

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

另一种方法是写'.', 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 }; 

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

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

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

简单的for循环将为您做到这一点。

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

为了进一步certificate,使用c / c ++进行google循环