0

私はそれを学ぶためにCに関する本を読んでいて、本に書かれているすべてのコードを書いています.私はそれを実行しますが、何も表示されません。何も表示されません。何かを入力してEnterキーを押しても何も起こらないように、それぞれのものがいくつあるかを教えてくれるはずですか?

私はこのプログラムが実際に何かを出力することになっているかどうかを理解するにはあまりにも新しいので、ここに投稿して意見を得ると思いました.私がそれを実行して何かを入力しているときは何も起こらず、永遠に入力し続けることができます。

ここにコードがあります

 #include <stdio.h>

 int main()
 {
    int c, i, nwhite, nother;
    int ndigit[10];
    nwhite = nother = 0;
    for (i = 0; i < 10; ++i)
    ndigit[i] = 0;
    while ((c = getchar()) != EOF)
    if (c >= '0' && c <= '9')
      ++ndigit[c-'0'];
    else if (c == ' ' || c == '\n' || c == '\t')
      ++nwhite;
    else
    ++nother;
    printf("digits =");
    for (i = 0; i < 10; ++i)
    printf(" %d", ndigit[1]);
    printf(", white space = %d, other = %d\n", nwhite, nother);
 }
4

3 に答える 3

0

変化する

printf(" %d", ndigit[1]);

printf(" %d", ndigit[i]);

値を入力した後、ctrl+d を押して EOF を指定します

入力:

2 4 6 8     //3 white space + 1 new line = 4 white space
[ctrl + d]

出力:

digits = 0 0 1 0 1 0 1 0 1 0, white space = 4, other =0 
于 2013-07-24T09:06:19.347 に答える
0

次を使用してEOFを提供できます

ウィンドウズ:

Press F6 then ENTER
or 

Ctrl+Z

Linux:

Ctrl+D
于 2013-07-24T09:01:57.703 に答える