在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/C  Linux/ C語言數(shù)組編譯通過運行時報段錯誤?

C語言數(shù)組編譯通過運行時報段錯誤?

D.R的C程序設(shè)計語言(第二版)問題1-14打印輸入中各個字符出現(xiàn)頻率的直方圖。ACSII十進制值作為ch數(shù)組的下標,對應(yīng)的下標的數(shù)組值+1。然后用ch_sub和ch_value數(shù)組分別保存用對應(yīng)的下標和值。編譯沒錯誤,運行立即報段錯誤。自學C的萌新,各位大佬輕噴。

#include <stdio.h>

main()
{
        int c,i,j,l;
        int ch[128];
        int ch_sub[j];
        int ch_value[l];

        i= j = l =0;

        for (i = 0; i < 128; ++i)
                ch[i] = 0;

        while ((c = getchar()) != EOF)
                ++ch[c];
     
       for (i = 0; i < 128; ++i){
                if (ch[i] > 0){
                        ch_sub[j] = i;
                        ch_value[j] = ch[i];
                        ++j;
                }
        }
        for (l = 0; l < j; ++l)
                printf("%c\t%d\n",ch_sub[l],ch_value[l]);
}

clipboard.png

回答
編輯回答
悶油瓶
int ch_sub[j];
int ch_value[l];

中的 i 和 j 的值是隨機值, 定義數(shù)組是未定義的.

2018年8月3日 00:19