При режиме Debug программа ничкго не выводит, а при Release все работает(Codeblocks)

Есть код

#include <iostream>
#include <stdlib.h>
using namespace std;
int m(string ch)
{

     int   sum = atoi(ch.c_str());
        return sum;
}
int main()
{
    string s,ch;
    int i,k;
    cin >> s;
    while (i <= s.length())
    {
        k = 0;
        while ((s[i] >= '0') && (s[i] <= '9'))
        {
            ch += s[i];
            i++;
        }
        k = m(ch);
        ch = "";
        if (k == 0)
            cout << s[i];
        else while (k > 0)
        {
            k--;
            cout << s[i];
        }
        k = 0;
        i++;
    }
    cout << endl;
}

при режиме debug ничего не выводится, а при режиме Release все работает правильно Работаю в IDE CODEBLOCKS 17.12(компилятор mingw)


Ответы (1 шт):

Автор решения: Harry

Вот здесь - и нормальный компилятор со включенными предупреждениями об этом обязательно скажет! - вы используете неинициализированную переменную i:

while (i <= s.length())

В отладочном режиме обычно все такие переменные обнуляются, но в общем случае в них может лежать любой мусор...

→ Ссылка