c - 无法在 C 中对 pow() 使用模

标签 c compiler-errors

我正在写一个程序,并且在这部分停留了相当长一段时间。

int y;
y = 111 % pow(10,2);
printf("%d",y);

显示的错误是对二进制“operator%”类型“int”和“double”的无效操作数

是否有任何解决方法(即使用 pow() 函数)?

最佳答案

在 C 中,pow返回 double与输入参数的类型无关。

还有一个 double不能用作 % 的参数.

因此编译器会报错。

解决方案是使用10 * 10而不是使用 pow提高一个数的二次方。请注意,因为 %* 具有相同的优先级您需要将表达式写为 111 % (10 * 10) .

关于c - 无法在 C 中对 pow() 使用模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53831293/

相关文章:

c - mingw printf大小规范字符h

compiler-errors - 为什么英特尔C编译器无法构建coreutils?

c - 这个程序背后的逻辑是什么?

c++ - 如何找出键盘的地址

c++ - 如何在 Vector 类中创建 operator=?

c# - .NET Core编译错误:找不到类型或 namespace 名称 'LibGpiodDriver'

c++ - 为什么在使用void函数时出现错误代码C2276?

c++ - 是否可以将 std::chrono::duration 与 Rep 类型一起使用为 double?我尝试在 vs2012 中遇到编译器错误

c - 为什么这个使用移位的交换宏不适用于负数?

c - 使用 printf 作为字符数组时,我得到了一个额外的不同字符