入力として文字を取り、ユーザーが入力として 0 を与えるまで、その ascii 値を出力として与えようとしています。動作しますが、余分な ascii 値 10 が常に表示されます。私は何を間違っていますか?
#include <stdio.h>
#include <stdlib.h>
int main(void){
printf("Welcome to ASCII:\n");
char input;
while(input != 48){
scanf("%c", &input);
printf("ascii: %d\n", input);
}
printf("done\n");
}
出力
Welcome to ASCII:
e
ascii: 101
ascii: 10
h
ascii: 104
ascii: 10
l
ascii: 108
ascii: 10
0
ascii: 48
done