Печать букв ASCII, 10 всегда печатается в конце

#c #ascii

#c #ascii

Вопрос:

Я новичок в C и числах ASCII, поэтому я использовал пример кода для печати чисел ASCII

 int main(){

    int c;
    while ((c = getchar()) != EOF){
        printf("%dn", c);
    }
}

  

Вывод для «d» был

 100
10
  

Какую бы букву я ни набирал, результатом будет ASCII-код указанной буквы, а также 10 в конце. Я не уверен, откуда берется это 10.

Комментарии:

1. Это происходит из-за нажатия клавиши ввода / возврата.

Ответ №1:

Это код символа новой строки, которым заканчивалась строка ввода.

если вы хотите остановиться в конце строки и не включать его, добавьте еще один флажок.

     while ((c = getchar()) != EOF amp;amp; c != 'n'){
        printf("%dn", c);
    }