想用一个动态数组,随手写了这个例子,居然编译执行通过了。 int main() { int a = 5; scanf ("%d", &a); int b[a]; for (int i = 0; i < sizeof (b) / sizeof (int); i++) b[i] = i; for (int i = 0; i < sizeof (b) / sizeof (int); i++) printf ("%d\n", b[i]); return 0; } 这是什么逻辑?不是说C语言不支持动态数组吗?传说中的malloc不需要了? -- FROM 106.39.150.*