忍受我,我很新。
我要做的是获取用户输入的内容,将数字分成数组,例如:
int digits[10] = {0} //initialize
int input = 12345; // length was defined earlier, and in this case is "5"
for (unsigned int i = 1; i <= length; i++) {
digits[i - 1] = (input / (10 ^ (i - 1))) % 10; // supposed to seperate digits in reverse order
// 12345 --> digits[] --> { 5, 4, 3, 2, 1 }
// currently not working
}
我正在对它进行测试以确保我正确地执行此操作并将阵列打印到屏幕上但我回来了:11234
我尝试了不同的数字,例如,22222打印出来:79702
打印数组的代码:
for (int k = length - 1; k >= 0; k--) {
cout << digits[k] << endl;
}
我知道我错过了什么,但提前谢谢
答案 0 :(得分:4)
你的数学是完全正确的,但你犯了一个非常合理的语法错误。
C ++中的^
运算符是bitwise xor,而不是取幂。您需要使用std::pow(base, exponent)
。