01/10/2018, 14:58
Gặp vấn đề khó hiểu vê ép kiểu trong C++
#include <iostream>
#include <conio.h>
using std::cout;
using std::cin;
int main()
{
double fn;
cin>>fn;
/*while((int)fn != 0)
{
cout<<"fn: "<<fn<<std::endl;
fn = fn -1.0;
cout<<"fn(-): "<<fn<<std::endl;
char c = getch();
if(c == '
')
continue;
}*/
while(fn != 0)
{
//cout<<fn<<std::endl;
cout<<"
(int)fn: "<<(int)fn<<std::endl;
fn = (fn -(int)fn);
cout<<"fn(-): "<<fn<<std::endl;
fn *= 10;
cout<<"fn*10: "<<fn<<std::endl;
char c = getch();
if(c == '
')
continue;
}
return 0;
}
Đáng lẽ cái biến fn nó sẽ dần về 0 nhưng nó không vào được giá trị này khi mình nhập một số thực ví dụ như 5.78, 6.43…v.v nhưng khi nhập một số .0 thì ra. Ví du như nhập 5 hay 5.0 hay 8.0.
Bài liên quan
Không hẳn. https://repl.it/repls/JauntyRecentSuperuser