Предыдущая публикация
Программирование, компьютеры и кибернетика и др.Юрий Казекин

Программирование, компьютеры и кибернетика и др.

12 марпредложил 
Юрий Казекин

/* p16

Язык Turbo C 2.0
Нелокальный переход */
#include <conio.h>
#include <setjmp.h>
#include <stdio.h>
#include <stdlib.h>
#define A 1
#define B 2
jmp_buf d;
aa (); ab (); ac ();
ad ();
main ()
{
int a;
/* 121.48.1 Нелокальный переход */
puts ("1. Вызываем aa ().");
aa ();
puts ("- 1 - Конец функции aa ().");
/* 67.2.2 Латинский алфавит */
printf ("\n");
for (a = 'a'; a <= 'z'; a++)
printf ("%c %i\t", a, a);
/* 79.3.3 Русский алфавит */
printf ("\n\n");
for (a = 'А'; a <= 'Я'; a++)
printf ("%c ", a);
getch ();
printf ("\n\n");
}
aa ()
{
int a;
if ((a = setjmp (d)) != 0)
{
switch (a)
{
case A: puts ("Нет памяти."); return 0;
case B: puts ("Не могу открыть файл."); return 0;
}
}
printf ("Результат %i.\n", ab ());
}
ab () {ac ();}
ac ()
{
void *g;
if ((g = malloc (4096)) == NULL) longjmp (d, A);
ad ();
free (g);
return 1;
}
ad ()
{
FILE *g;
if ((g = fopen ("data.txt", "r")) == NULL) longjmp (d, B);
fclose (g);
return 2;
}

Нет комментариев

Новые комментарии
Для того чтобы оставить комментарий, войдите или зарегистрируйтесь
Следующая публикация
Народное голосование
Какой будет иконка приложения ОК — решаете вы!
Выбрать
Свернуть поиск
Сервисы VK
MailПочтаОблакоКалендарьЗаметкиVK ЗвонкиVK ПочтаТВ программаПогодаГороскопыСпортОтветыVK РекламаЛедиВКонтакте Ещё
Войти
Программирование, компьютеры и кибернетика и др.

Программирование, компьютеры и кибернетика и др.

ЛентаТемы 646Фото 400Видео 24Участники 1 781
  • Подарки
Левая колонка
Всё 646
Обсуждаемые

Присоединяйтесь — мы покажем вам много интересного

Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.

Зарегистрироваться