【发布时间】:2020-06-13 06:14:55
【问题描述】:
这是我的代码
#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
循环在第四次迭代后终止,即使 while 条件不满足。谁能指导我?
【问题讨论】:
-
arr 有点小
-
arr 大小为 1 btw
-
这个项目的目标是什么?
-
你确定这段代码可以编译吗?数组的大小应该在编译时固定。 “arr[i-1]=a%10;”肯定会导致超出范围的问题。
-
可能只是在每个循环中打印所有变量中的值——您将看到代码是如何工作的。或者学习如何使用调试器。
标签: c++ loops while-loop c++14