为什么幂运算符没有按预期工作?
在提供的 C 代码中,尝试使用“^”执行电源操作的操作员。但是,输出不正确,因为“^”在 C/C 中不充当幂运算符。相反,它被定义为按位异或运算符。
代码旨在计算输入数字“a”从 1 到 4 的幂的总和。为了正确实现这一点,pow()应该使用函数,这需要将其参数之一转换为 double。修改后的代码为:
#include <stdio.h> void main(void) { int a; double result; int sum = 0; printf("Enter a number: "); scanf("%d", &a); for( int i = 1; i <= 4; i++ ) { result = (int) pow((double) a,i); sum += result; } printf("%d\n", sum); }
此外,值得注意的是,自 C99 以来,引入了 powf() 和 powl() 函数,分别支持 float 和 long double 参数。
以上是为什么我的 C 代码的'^”运算符不能正确计算幂?的详细内容。更多信息请关注PHP中文网其他相关文章!