0
這就是我想出的,但我總是得到運行時檢查失敗#2 - 圍繞變量'h'的堆棧已損壞。使用直方圖查找數組中最常見的字母
int mostCommonLetter(char s[]) {
int i=0, h[26],k=0, max=0, number=0;
while (k < 26){
h[k] = '0';
k++;
}
while(s[i] != '\0'){
h[whichLetter(s[i])] = h[whichLetter(s[i])]+1;
i++;
}
h[26] = '\0';
for(i=0;h[i]!='\0';i++){
if(h[i] > max)
number=i;
}
return number;
}
whichLetter返回-1,當它遇到一個空間 – user133466 2011-04-11 23:41:23
@ user133466:這也會中斷 - 你需要檢查這個,如果返回值是-1,不要修改h – Erik 2011-04-12 00:34:19