/
Karen1C
/
sysdad
Обзор
Документация
Войти
/
Karen1C
/
sysdad
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
reverse_string.c
63 строки
1 KB
Karen1C
upload files
30 май 2025, 09:38
30 май 2025, 09:38
8164eba
Код
Авторство
О чём код?
#include <stdio.h> #include <stdlib.h> typedef struct StackNode { char data; struct StackNode* next; } StackNode; StackNode* top = NULL; void push(char c) { StackNode* newNode = (StackNode*)malloc(sizeof(StackNode)); if (newNode == NULL) { printf("Ошибка выделения памяти\n"); exit(1); } newNode->data = c; newNode->next = top; top = newNode; } char pop() { if (top == NULL) { return '\0'; } StackNode* temp = top; char c = temp->data; top = top->next; free(temp); return c; } #define MAX_LENGTH 1000 char* getInputString() { char* str = (char*)malloc(MAX_LENGTH * sizeof(char)); if (str == NULL) { printf("Ошибка выделения памяти\n"); exit(1); } printf("Введите строку: "); fgets(str, MAX_LENGTH, stdin); return str; } int main() { char* input = getInputString(); for (int i = 0; input[i] != '\0' && input[i] != '\n'; i++) { push(input[i]); } printf("Перевернутая строка: "); char c; while ((c = pop()) != '\0') { putchar(c); } printf("\n"); free(input); return 0; }