L oop заканчивается после четвертой итерации - PullRequest
0 голосов
/ 29 февраля 2020

Это мой код

#include<iostream>
#include<cmath>
using namespace std;
#define ll long long
int main()
{
    ll int a;cin>>a;
    ll int i=1;
    ll int arr[i];
    while(a)
    {
        arr[i-1]=a%10;
        a/=10;
        i++;
        cout<<a<<" ";
    }
    i--;
    cout<<endl;
    cout<<i<<endl;
}

И я получаю вывод как

>12345 1234 123 0 
>4

для ввода:

123456

l oop завершается после четвертая итерация, даже если условие while не выполняется. Кто-нибудь может направить меня?

1 Ответ

0 голосов
/ 29 февраля 2020

Прежде всего, данный фрагмент кода не должен компилироваться из-за следующего утверждения

ll int arr[i];

Измените i на некоторое постоянное значение, как показано ниже

ll int arr[1];

Затем он должен выполнить итерацию l oop 6 раз и выдать следующий результат

Ввод: 123456

Выход:

12345 1234 123 12 1 0

6

...