Как при срабатывании SIGINT правильно передать значение переменной i в функцию closing - C (СИ)
Формулировка задачи:
Имеется код:
Подскажите, как при срабатывании SIGINT правильно передать значение переменной i в функцию closing?
Пробовал что-то типа signal(SIGINT, closing(i)), но компилятор ругается.
#include <signal.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> void closing(int number) { printf ("%d\n", number); exit(1); } int main(void) { int i; signal(SIGINT, closing); i = 0; while(1) { i++; } }
Решение задачи: «Как при срабатывании SIGINT правильно передать значение переменной i в функцию closing»
textual
Листинг программы
if ((ch = getc(stdin)) == 'q') { closing(i); }
Объяснение кода листинга программы
- В начале кода используется оператор if для проверки значения символа, полученного из стандартного ввода (stdin).
- Значение символа сохраняется в переменной ch.
- Если значение символа равно 'q', то вызывается функция closing.
- В качестве аргумента для функции closing используется переменная i.
- Значение переменной i передается в функцию closing.
- Если символ не равен 'q', то выполняется блок кода без использования функций или переменных.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д