在 c++ 中非法使用浮点数
Illegal use of floating point in c++
我的程序非法使用浮点错误:
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{
clrscr();
int number,reverse,check,i,j,k=0,x;
cout<<"Please enter number: ";
cin>>number;
//Obtaining no. of digits:
for(i=1;check==0;i++)
{
check/=10;
}
//Reversing number:
if(i%2==0) //case even digits
{ for(j=i;j>0;j--)
{
x=(number%pow(10,j))/pow(10,j-1); //here
reverse+=x*pow(10,k);
k++;
}
}
cout<<"Reverse number: "<<reverse;
getch();
}
我不知道为什么会出现此错误,如果有人可以帮助我解决这个问题,那就太好
> pow
是一个返回 double
的函数,C++ modulo operator %
仅适用于整数。这是因为数学取模运算符是为整数定义的。因此illegal use
.
此外,您可以在不初始化的情况下使用 check
变量。使用前初始化所有变量,以避免进一步的意外。
编辑
以下是要执行的其他一些更正:
check = number
在第一个for
循环之前。
for(i = 0; check != 0; i++)
最后,尝试找到另一种方法来获取数字的数字,而无需使用 pow
.有使用连续整数除法的简单方法。
相关文章:
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- C++浮点数据类型和字符串数据类型无法子到模板函数中
- 使用提升将数据从 PyObject 复制到浮点数 *
- 使用浮点数和双精度数的非常小数字的数学
- 使用英特尔内联函数将打包的 8 位整数乘以浮点数向量
- 如何在 c++ 中将小数点后两位数的浮点数分配给另一个浮点数
- 返回浮点数的小数位数
- txt 文件中浮点数的最大和最小值
- 为什么 std::cout 打印浮点数、双精度和长双精度到相同的小数精度?
- 将浮点数转换为无符号字符数组并打印出来
- 如何将时间字符串 (M:SS) 转换为浮点数
- 如何将浮点数(*)[6]转换为浮点**类型?
- C++将浮点数乘以分数
- 如何将浮点数转换为uint8_t?
- 将字符串转换为浮点数或整数,而无需使用内置函数(如 atoi 或 atof)
- 如何在C++(Arduino)中将浮点数组转换为字节数组
- 在数学上将浮点数四舍五入到 N 位小数
- Cython通过浮点数的最快方式,用于高频控制回路
- 在 c++ 中非法使用浮点数