Я даю 1000-значное число в качестве входных данных и используя эту программу для поиска максимального продукта из 5 последовательных целых чисел. Массив из используется для хранения последовательности с самым высоким product.I я получаю неожиданный ответ (я подозреваю, что проблема будет в преобразовании из полукокса в целое)ошибка преобразования char to int в c
#include <stdio.h>
int main(void)
{
int a[5],c=0,b,i=1;
char *num[1000];
scanf("%s",&num);
while(i<5)
{
a[i]=num[i]-'0';
i++;
}
while(i<1000)
{
b=(char)num[i]-'0';
if(a[c]<b)
{
a[c]=b;
c=(c+1)%5;
}i++;
}
printf("%d",a[0]*a[1]*a[2]*a[3]*a[4]);
return 0;
}
Помимо фиксации типа, если вы хотите сохранить 1000 символов, вам нужно выделить дополнительную память для завершающего нуля в конце, поэтому сделайте 'num' не менее 1001. – woolstar