前提・実現したいこと
プログラミング初心者です。
キーボードから文字を一つ入れると、その文字コードが表示されるようなプログラムを制作しています。
一文字を出力するとその文字の文字コードが出力され、ピリオドを入力すると終了するプログラムです。
処理結果
半角文字を入力してください ピリオドを入れると終わります A 文字コードは10である A 文字コードは65である 文字コードは10である b 文字コードは98である 文字コードは10である
問題
上部をみればわかるように最初の入力は文字と文字コードが一致していなく、2回目からの入力は”文字コードは65である”の後に”文字コードは10である”がなぜかついてくるのです。また、最初の入力でピリオドを入力しても”文字コードは10である”と出力されます。(下に記載)
原因は一体なんなのでしょうか。教えてくださいお願いします。
半角文字を入力してください ピリオドを入れると終わります . 文字コードは10である . 終了
ソースは以下のものです
c
1#include <stdio.h> 2 3int main(void){ 4 5 char a; 6 7 printf("半角文字を入力してください\n"); 8 printf("ピリオドを入れると終わります\n"); 9 a = getchar(); //一文字の入力 10 11 while((a = getchar()) != '.'){ //コンマが入力されない限りループ 12 printf("文字コードは%dである\n",a); //文字コード出力 13 printf("\n"); 14 } 15 return 0; 16}
補足
コードはvisual studio code
macbookのターミナルを使ってます。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/06 10:56