• 締切済み

うまくいかないorz

出てきたアルファベットをカウントするプログラムを作成したのですが、 うまくいきません。 #include<stdio.h> int main(void) { int kaisu[25]={0}; char c; int i; do{ i=(c=getchar())-'a'; //printf("%d\n",i); kaisu[i]++; }while(c=(getchar())!=EOF); for(i=0;i>=25;i++){ printf("%d\n",kaisu[i]); } return(0); } 一応、EOFで読み込みを終了させたいのですが。 ご伝授ください。

みんなの回答

  • wolf03
  • ベストアンサー率22% (241/1086)
回答No.2

ついでにgetcharをループ内と終了判定の二回使うと一文字置きに見ると思うが。

pop-bomb
質問者

お礼

ありがとうございました。できました。

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.1

c が char で宣言されとるから EOF (= -1) と永遠に一致しないってコト? はたまた、c = (getchar()) != EOF で比較演算子が先に評価されているのカナ?

pop-bomb
質問者

お礼

ありがとうございました。できました。

関連するQ&A

専門家に質問してみよう