C语言的问题,字符串数组初始化 a[30]={\0}、a[30]={0}、a[30]={"0"}

C语言的问题,字符串数组初始化
a[30]={\0}、a[30]={0}、a[30]={"0"}C语言的问题,字符串数组初始化
a[30]={\0}、a[30]={0}、a[30]={"0"}
这三个写法都对吗,而且意思是一样的吗

前面三个是没错,printf错了,a作为一个数组,直接用a表示数组指针而已。 a等效于 &a[0]。
要打印整个数组,应该这样
int i;
for(i=0;i<100;i++)
{
printf("%d \n",a[i]);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-07-24
第一个写法错误,会有编译错误的,第二个写法也不对,但是编译不会报错,数组还是没有初始化,第三个是初始化数组,只是a[0]="0"。追问

正确的写法是什么样的,是
a[30]={'\0'}这样吗

追答

这个初始化跟没初始化是一样的,每一个字符串数组初始化的时候自动在末尾加这个的,要是初始化的话,就用双引号里面加你要的内容

本回答被提问者和网友采纳