#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int main(int argc, char **argv)
{
string c;
int k = 0, decval, i;
cout << "Please input your number starting from lowest value number to highest" << endl;
cin >> c;
//the for loop takes a backwards integer and makes it forwards.
for(i = 0; i < c.length(); i++){
decval += (c[i] - '0') * pow(10, k);
++k;
}
cout << decval;
return 0;
}
所以我的问题是,当我输入类似564的内容(想要返回465)时,我得到462。我无法在代码中发现逻辑错误。请注意,我对编码和堆栈溢出都是新手,所以请不要太苛刻。任何帮助将不胜感激。
最佳答案
您忘记将decval
初始化为0。它可能包含一个任意值,会使您的结果困惑。