一道c语言选择题

指出下面各说明语句中哪些是合法的()
A int abcd[0x80];
B char 9ab[10];
C char chi[-200];
D int aaa[5]={3,4,,5};
E float key[]={3.0,4.0,1,0};
F chardisk[];
G int n,floppy[n];
H int cash[4]={1,2,3,4,5,6};
请选择其中合法一项:
A:ABG
B:ADE
C:DE
D:ABCDEFG
为什么我做出来只有AE是正确的D的选项我在tc上编了一下验证下
main()
{int aaa[5]={3,4,,5};
printf("%d",aaa[2]);}
可是是错的,请问D选项对不对大家帮我看看。
最下问以下下标可以取负数吗?
D int aaa[5]={3,4,,5};这个{3,4,,5}在计算机上运行不了,为什么说它是对的

第1个回答  2008-10-02
D选项的确是对的,没有越界,为什么你机器上运行不了,那可能是你的编程环境不一样,c语言可以在好多应用程序中编写,但是并不是都是一个厂家出的,他们规定的格式不同,自然有些代码规定的有所不同,你如果尝试这个用别的应用程序编写效果肯定不同。
第2个回答  2008-10-02
恩,d是对的;
int aaa[5]={3,4,,5};其实是这样的:int aaa[5]={3,4,0,5,0};
所有空的地方都是0;
输出应该是0啊。
不知道你的输入有没有错。
还有下标不能取负数。
第3个回答  2008-10-02
D是错的,
多了一个逗号,
去掉那个逗号就是对的,
我想出题本意应该是没有那个逗号的.
把题改了选B.
第4个回答  2008-10-02
B:ADE

下标不能取负数本回答被提问者采纳
相似回答
大家正在搜