c语言中定义数组大括号内必须要有数字吗 还有这个例题对吗

高手们哪位知道,c语言中定义数组大括号内必须要有数字吗 还有这个例题对吗
最新回答
过来人

2024-10-22 15:14:02

定义数组时大括号内,是可以没有数字的。你的问题,从错误的是定义时紧跟在变量名a后面的第一个括号。
追问
第一个中括号可以没有数
追答
第一个中括号可以没有数,也对的。
但是这个中括号,没发觉它与后面的中括号不同吗(这显然不对)。代码中(除字符常量外)所有的括号及其它标点都必须是英文标点。
应该是这样:
a[][3]={{1,0,1},{},{1,1}}
追问
但是你这样写,这个例题也不对
我们讲这个的时候老师说是错的
我拿你打的字把题改了
追答

你看一下是对的还是错的:

追问
我感觉对了啊,但是老师说是错的还说书上有,但是书上没有😂
追答
1)老师和书上说的,不一定对。
2)表述有问题,你说的,与老师理解的,不是同一回事。
3)有没有把这个代码和运行的图给老师看呢?
小茉莉

2024-10-22 15:27:49

int a[]={.....}; 可以在定义的时候给出初始值。可省略。 int b[][5]={...}; 同上,但是第二个不能省略。 a[]=3; 这样做就不对了,里面没有定位,不能省略。 b[][2]=2; 同上,不能省略。 a[x]=3;这样做也对,但是要保证变量x的值正确。C不会自动给你查越界。你自己要小心。
风铃鹿

2024-10-22 16:20:06

这个没有错,只要有一个定义,其他没有定义的会自动赋0