Я пытаюсь выяснить, что не так с моим кодом, так как он всегда пропускает только к printf("not an octal number part");
и выводит только те данные, которые имеют много других вычислений перед ним, я пытаюсь отладить его, но не могу кажется, найти ошибку. это лето проблемы, описанной ниже, также мы пока не можем использовать указатели.
A C Программа для ввода восьмеричного числа в виде строки символов и сохранения введенных символов в массив. Преобразуйте восьмеричное число в десятичное целое и отобразите десятичное целое на стандартном выводе, используя printf.
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SIZE 100
int main() {
char my_strg[MAX_SIZE];
int c;
int res = 0;
int i = 0;
while ( (c = getchar()) != '\n') {
my_strg[i] = c;
i++;
}
int k = 0;
for(k = strlen(my_strg)-1; k >= 0; k--) {
if((my_strg[k] >= '0') && (my_strg[k] <= '7')) {
res += (pow(8, k) * (my_strg[k]-'0'));
} else if(my_strg[k] == '-') {
res *= -1;
} else {
printf("not an octal number");
break;
}
k++;
}
printf("%d\n", res);
}