無題

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
たのもー

無題

#1

投稿記事 by たのもー » 18年前

こんばんは。いつもお世話になってます。
今回は、コンパイルまでは一応できて、いざ実行してみると
値入力までは普通に行くんですけど結果が表示されず
カーソルがずっと点滅している状態です。
毎度のことですけど手助けお願いできますか。
よろしくお願いしますm(_ _)m

  ↓↓  ソースです  ↓↓
#include<stdio.h>

void main(void) {
int i,dat,histo[11];

for(i=0;i<=10;i++) {
histo = 0;
}

printf("得点を入力してください\n");

while(scanf("%d",&dat) != EOF) {
histo[dat/10]++;
}

for(i=0;i<=10;i++){
printf("%3d : %3d\n",i*10,histo);
}
}


ちなみに、このソースコードはナツメ社の
入門ソフトウェアシリーズ①C言語
を参考にしています。


環境は以下のようになってます。
  OS :XP
コンパイラ:Borland C++Compiler 5.5

フリオ

Re:無題

#2

投稿記事 by フリオ » 18年前

 
 「Ctrl」+「Z」 で入力終了です。
  

管理人

Re:無題

#3

投稿記事 by 管理人 » 18年前

>while(scanf("%d",&dat) != EOF)

この部分、入力がエンドオブファイルじゃない時入力をループ

という意味です。

エンドオブファイルというのは、読んで字のごとく、ファイルの終わりですけど、入力からもその信号が送れます。

フリオさんのおっしゃるとおり、入力し、エンターを押すと、エンドオブファイルの信号となります。
エンドオブファイル(EOF)が入力されるとループを出ます。

たのもー

スミマセン

#4

投稿記事 by たのもー » 18年前

こんばんは。
返事送れて申し訳ございません
フリオさん、管理人さん、御返事ありがとうございました。
いままでは、EOF = ^Zだと勘違いしていました。
いつも本当にありがとうございます。
これからもよろしくお願いしますm(_ _)m

P.S
送れて本当にスミマセンでした。

閉鎖

“C言語何でも質問掲示板” へ戻る