проблема с Scanf

  • Автор темы Автор темы Crocklam
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
C

Crocklam

do{
f=0;


for(i=0; i<n; ++i)

f+=scanf("%i", &mas);



}
while(f!=n);
Надо ввести массив с клавы, если есть ошибка оно возвращается к do. Только в дальнейшем, при прохождении цикла больше scanf компилятор не видит и цикл зацикливается. Такое ощущение что строчка f+=scanf("%i", &mas); просто исчезла!!! Помогите плз.
 
я ничего не пойму, либо тут бред написан!(скорее всего)!

И вообще если задаете вопрос : то по сути, и что нужно делать, дак и сообщение должно иметь НОРМАНЫЙ ВИД.
 
Ну в общем если функция Scanf не может прочитать Integer программа завершается автоматически. И вот вопрос. Можно ли сделать так чтоб она не завершалась?
 
Чесно говоря не знаю как сделать обработку исключительной ситуации. Но я бы покрутил с :

Код:
#include <cctype>
int isdigit (int ch);

Если аргумент - цифра, то функиця возвращает ненулевое значение, в противном случае - 0.

Или зависимыми функциями : isalnum(),isalpha().
 
Спасибо, попробую
 
Уже писал такое в форуме https://yg140.servegame.com/threads/17556.html.

Если правильно понял, то нужно что-то вроде этого:
Код:
#include <stdlib.h>
#include <stdio.h>
char ch[256];
int f=0;

//........... 

while(scanf( "%s", ch)){
if (atoi(ch) ==0) break;
f+= atoi(ch);
}
 
Отлично!!! Работает! Спасибо!
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab