Разработать рекурсию к готовому коду по вычислению арефметичного выражения введенного в символьную строку на Си
Разработать функцию, параметром которой является символьная строка, хранящая арифметическое выражение вида: n1 ± n2 ± n3 ± n4 ± ..., где n1, n2, n3, n4 ... - цели натуральные числа. Я уже написал код без рекурсии, но не панимаю как здесь применить рекурсию.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int k;
char a[1000];
char string[1000];
char *arr[100];
int elements[100];
char *str;
printf("Enter expression: ");
gets(a);
int length = strlen(a);
strcpy(string, a);
str = strtok(a, "+-");
k = 0;
while (str != NULL)
{
elements[k] = atoi(str);
k++;
str = strtok(NULL, "+-");
}
printf("Elements: ");
for (int i = 0; i < k; i++)
{
printf("%d ", elements[i]);
}
int index = 1, res = elements[0];
for (int i = 0; i < length; i++)
{
if (string[i] == '+')
{
res += elements[index];
index++;
}
else if (string[i] == '-')
{
res -= elements[index];
index++;
}
}
printf("\nResult of expression: %d", res);
return 0;
}