【发布时间】:2015-05-27 22:56:22
【问题描述】:
我正在完成 K&R 的第一章,并开始练习你应该为某些输入创建一个字长直方图。我首先尝试使用一个while循环来创建一个与最长单词一样长的零数组,但是输入的单词长度超过六个字符会导致程序冻结。我对解决方案的兴趣不如对原因的了解。
#include <stdio.h>
main()
{
int c, i, l, max;
int length[max];
l = max = 0;
while((c = getchar()) != EOF){
if(c != ' ' && c != '\t' && c != '\n'){
++l;
if(l > max)
max = l;
else
;
}
else
l = 0;
}
for(i = 0; i < max; ++i)
length[i] = 0;
for(i = 0; i < max; ++i)
printf("\n%d", length[i]);
putchar('\n');
}
【问题讨论】:
-
这是怎么编译的?数组的大小未初始化。