Member 13221774 Ответов: 1

Я хочу вам помочь (в с)


Я кореец. Итак, этот контекст-что-то неправильное....

Мне нужны какие-то цифры(через запятую) или ничего.
Я могу (scanf_s)функционировать и читать числа
но я ничего не могу прочитать(нет ввода и нажмите enter)

как решить мой вопрос?

Что я уже пробовал:

делать {
scanf_s ("%d", &mints[i]);
mintcount++;
я++;
} пока (еокп(стандартного ввода) == ',');

В С

1 Ответов

Рейтинг:
0

OriginalGriff

Не читайте его прямо в Книгу. mints массив-сначала считайте его в буфер и проверьте это.
Если пользователь нажмет ENTER, первый символ буфера будет равен нулю: '\0', и это первое, что вы проверяете.
Если это не так, обработайте буфер как значения, разделенные запятыми, используя sscanf вместо scanf_s и перемещая указатель через буфер, чтобы извлечь каждое число по очереди.

О, и не делайте таких вещей, как вы показываете - у вас нет верхнего предела i так что в какой-то момент mints массив будет исчерпан - вы должны проверить i значение как часть вашего цикла, а не просто позволить вашему приложению рухнуть, когда у него закончится место.


CPallini

5.