Это упрощенная версия моего кода:
void calc(char *s)
{
int t = 0;
while (*s)
{
if (isdigit(*s))
t += *s - '0';
else
++s;
}
printf("t = %d\n", t);
}
int main(int argc, char* argv[])
{
calc("8+9-10+11");
return 0;
}
Проблема в том, что цикл while работает вечно, хотя я ожидаю, что он остановится после последней цифры 1
.И мой ожидаемый результат - t = 20
.