- ベストアンサー
入力した文字列の文字コードを16進数で出力
入力した文字列の文字コードを16進数で出力するプログラムを作っているのですが 下のように記述してもどうしても最後にaが表示されてしまいます。 打開策、または何故aが表示されるのかを教えてください。 #include <stdio.h> main() { int str; while(1){ str=getc(stdin); if(str==EOF) break; printf("%x ",str); } return 0; }
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Enterキーのキーコードが出力されています。 http://www.kijineko.co.jp/tech/superstitions/fflush-with-input-stream.html Visual studioならfflush(stdin)でもできそうですが、あまりおすすめしません。 #include <stdio.h> int main(void) { int str; while(1){ str=getc(stdin); if(str==EOF) break; if(str!='\n') printf("%x \n",str); } return (0); } 読み飛ばしの方がよいかもしれません。