После компиляции следующей программы я получаю вывод «2346», но ожидал «2345».
#include<math.h>
#include<iostream.h>
int nr_cif(int a)
{
int k=0;
while(a!=0)
{
a = a/10;
k++;
}
return k;
}
void Nr(int &a){
int k = nr_cif(a);
a = a % (int)pow(10,k-1);
}
int main()
{
int a = 12345;
Nr(a);
cout<<a;
}
После отладки я заметил, что он дает ошибку после оценки: a = a % (int)pow(10,k-1). Почему здесь ломается?
<iostream>
, а не<iostream.h>
.<math.h>
тоже будет немного лучше, чем<cmath>
. - person chris   schedule 30.03.2014