int k[n]={0};这里是不对的,这么写的时候n只能是常量,不能是变量,想要动态数组的话,可以用int* k = new int[n];如有帮助,请采纳一下,谢谢。
定义数组时数组得大小不能时变量,所以int k[n]编译不通过,除非n是常量。比如: const int n =10; int k[n] = {0};
#include <iostream>
using namespace std;
int main()
{
int k[10] = { 0 };
int n = 0; // number of digits
int m;
cout << "Please enter an integer and press ENTER: ";
cin >> m;
if (m == 0)
{
n = 1;
}
else
{
for (n = 0; m > 0; ++n)
{
k[n] = m % 10;
m /= 10;
}
}
cout << endl << "The digits of the integer are: " << endl;
for (int i = n - 1; i >= 0; --i)
{
cout << k[i] << " ";
}
cout << endl;
return 0;
}
// Output
Please enter an integer and press ENTER: 2021
The digits of the integer are:
2 0 2 1
我更早回答了,而且贴了正确代码,没什么不采纳我的回答而采纳后面的回答呢?