char a[ ][3]={{'*',' ','*'},{' ','*'},{'*',' ','*'}}; 这句话是什么意思,求解释。
发布网友
发布时间:2022-04-23 18:11
我来回答
共4个回答
热心网友
时间:2023-10-12 10:08
定义char类型二维数组. 如果是 char a[N][M] ,就可以看成 N个M维数组。 后面大括号里面{}的每一个元素是一个M维数组。
char a[][3] 就是 N个3维数组。 N空出来了,由后面大括号里面有多少个数组来决定N.
{{'*',' ','*'},{' ','*'},{'*',' ','*'}}。 即3个3维数组。因此 N = 3.
分别是:1:{'*',' ','*'} 2: {' ','*'} 3: {'*',' ','*'}
1: 数组有3个元素,分别是 (1)'*' 星号字符 ; (2)' ' ,空格字符; (3) '*',星号字符
2:数组写了2个元素,分别是 (1)' '(空格字符)(2) '*', 星号字符 (3)没有写,默认为0
3:数组有3个元素 ,分别是 (1)'*' 星号字符 ; (2)' ' ,空格字符; (3) '*',星号字符。
由{} (大括号) 表示数组。
二维数组其实就是N个1维数组。
在数组内部{a,b,c} 由 ","逗号分隔 数组元素。追问#include"stdio.h"
void main( )
{
char a[ ][3]={{'*',' ','*'},{'','*'},{'*',' ','*'}};
int i,j;
for(i=0;i<3;i++) {
for(j=0;j<3;j++)
printf("%c",a[i][j]);
printf("\n");
}
}
这个程序的输出结果是什么???
追答你运行不就知道了
* *
*
*
即:
(星号)(空格)(星号)
(空格)(星号)
(星号)(空格)(星号)
热心网友
时间:2023-10-12 10:08
定义一个二维数组,你把它想成一个形状,长度长度可以自由变化,宽度规定为3
热心网友
时间:2023-10-12 10:09
定义了一个二维数组,内容如下:
× ×
×
× ×
因为在初始化的时候给定长度所以第一个[]可以为空。追问#include"stdio.h"
void main( )
{
char a[ ][3]={{'*',' ','*'},{'','*'},{'*',' ','*'}};
int i,j;
for(i=0;i<3;i++) {
for(j=0;j<3;j++)
printf("%c",a[i][j]);
printf("\n");
}
}
这个程序的输出结果是什么???
追答× ×
×
× ×
热心网友
时间:2023-10-12 10:09
不懂地方深v刚入手范德萨发放