Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 22.12.2016
Сообщений: 17
1

Лишние символы в вводе-выводе, или запись Enter-а в переменные

01.07.2017, 20:43. Показов 2447. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Писал небольшую программу ради обучения. И тут мне захотелось/понадобилось узнать числовые значения нескольких char-символов. Написал по-быстрому мини-программу для этого:
C
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
 
int main() 
{
    char c;
    int i;
    scanf("%c",&c);
    i=c;
    printf("%d",i);
    main();
}
Всё бы ничего, да в конце каждого вывода появлялось число "10". Я начал выяснять, ради этого таки разобрался как работает откладчик в этом Dev-C++. Выяснил, что Enter так же записывается в переменную char c. Это уже не первый раз когда у меня в конце вывода в подобных программах появляются лишние символы. Как справляться с данной проблемой? Я понимаю, что нужно или убрать возможность записи Enter-a в char c, или потом удалить его из конца, но как осуществить эти способы и сделать это лучшим способом?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.07.2017, 20:43
Ответы с готовыми решениями:

Лишние символы при выводе
Считываю текст из файла: N=5, M=45; __________ while (!feof(file)) { ...

Динамический массив строк (на выводе лишние символы)
если у меня ввод больше трех символов,получается белиберда,в первом printf выводятся от первого...

Лишние символы новой строки при выводе из файла
Здравствуйте! При выводе из файла печатаются лишние символы новой строки. Подскажите, пожалуйста,...

Лишние символы на выводе
Задача: в строке заменить плюсы на минусы. Вроде всё выполняется нормально, но за результатом...

5
Заблокирован
01.07.2017, 20:55 2
Чего бы сразу строку не считать, да не напечатать в цикле? К чему такие извращения?
0
Вездепух
Эксперт CЭксперт С++
11696 / 6375 / 1724
Регистрация: 18.10.2014
Сообщений: 16,071
01.07.2017, 23:01 3
Цитата Сообщение от Light-dimf Посмотреть сообщение
Выяснил, что Enter так же записывается в переменную char c. Это уже не первый раз когда у меня в конце вывода в подобных программах появляются лишние символы.
Так а почему он не должен записываться? Символ перевода строки - это просто символ с точки зрения стандартной библиотеки языка. Стандартная библиотека, очевидно, не в курсе, что вы лично считаете этот символ "лишним".

Цитата Сообщение от Light-dimf Посмотреть сообщение
Как справляться с данной проблемой? Я понимаю, что нужно или убрать возможность записи Enter-a в char c, или потом удалить его из конца, но как осуществить эти способы и сделать это лучшим способом?
Не понимаю проблемы. Если вы не хотите выводить код символа перевода строки - то просто проверяйте возникновение этой ситуации и ничего не выводите.
0
0 / 0 / 0
Регистрация: 22.12.2016
Сообщений: 17
01.07.2017, 23:21  [ТС] 4
Цитата Сообщение от Vereenarcy Посмотреть сообщение
Чего бы сразу строку не считать, да не напечатать в цикле? К чему такие извращения?
Эксперименты
0
Заблокирован
01.07.2017, 23:25 5
Light-dimf, тогда проэкспериментируй с условием if, или со switch на код символа.
0
0 / 0 / 0
Регистрация: 22.12.2016
Сообщений: 17
01.07.2017, 23:32  [ТС] 6
Цитата Сообщение от Vereenarcy Посмотреть сообщение
Light-dimf, тогда проэкспериментируй с условием if, или со switch на код символа.
Уже. Не знаю почему мне это раньше в голову не пришло.
0
01.07.2017, 23:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.07.2017, 23:32
Помогаю со студенческими работами здесь

Лишние символы в выводе DOS
.model tiny @CRLF MACRO mov ah,02h mov dl,0Dh int 21h mov ah,02h mov dl,0Ah int 21h ENDM

Лишние символы при выводе строк
При создании игрового поля для тетриса (вывод строк, в соответствии с заданным алгоритмом)...

Добавляются лишние символы при выводе
Программа просто должна из строки букв и цифр (или только цифр) вывести цифры в верном порядке....

При выводе на экран появляются лишние символы
#include &lt;iostream&gt; // ??? printf #include &lt;string.h&gt; // ??? strtok bool IsPalindrom (char...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru