参考書でC言語の勉強をしている中で次のようなコードがでてきました。
C言語
#include <stdio.h> int main(void){ int ch,i; int cnt[10]={0}; while((ch == getchar()) != EOF){ switch(ch){ case '0': cnt[0]++; break; case '1': cnt[1]++; break; case '2': cnt[2]++; break; case '3': cnt[3]++; break; case '4': cnt[4]++; break; case '5': cnt[5]++; break; case '6': cnt[6]++; break; case '7': cnt[7]++; break; case '8': cnt[8]++; break; case '9': cnt[9]++; break; } } puts("数字文字の出現回数"); for(i = 0; i< 10; i++){ printf("'%d' : %d\n", i, cnt[i]); } return 0; }
これを実行し例えば,11112345678999,などと入力しenterキー、そしてctrl+z(環境によってはctrl+dらしい?)と入力したら、
数字文字の出現回数
'0' : 0
'1' : 4
'2' : 1
'3' : 1
'4' : 1
'5' : 1
'6' : 1
'7' : 1
'8' : 1
'9' : 3
と出力されるらしいのですが、そもそも入力時点でctrl+zを押すと、
^Z
[1]+ Stopped ./a.out
などと出力されて終了、また私はlinux(gcc)を使っているので(linuxはctrl+Dらしい)ctrl+Dを押してみたのですが何も出力されずにに入力画面が続行されています。
どうすれば上記のように実行できるでしょうか、教えてください。
linux(gcc)、Visual Studio Codeで実行しています。
まだ回答がついていません
会員登録して回答してみよう