Я пишу простую программу C ++, которая должна объединить все элементы целочисленного массива, чтобы сформировать один номер. например. {4,5,6} -> должно быть 456 . Но мой выход на один меньше исходного числа. то есть вместо 456 я получаю 455. Иногда моя программа работает нормально, а иногда нет. Может ли кто -нибудь объяснить мне, что вызывает это непредсказуемое поведение? Спасибо !! < /p>
Посмотрите на мой код: < /p>
#include
#include
using namespace std;
int main()
{
int A[5] = {4,5,6,7,8};
int lengthA = 5;
int num = 0;
for(int x = 0; x < lengthA; x++)
{
num = A[x]*pow(10,lengthA-1-x) + num;
}
printf("%d\n", num ); // My O/P is 45677
}
Подробнее здесь: https://stackoverflow.com/questions/705 ... r-variable