gpt4 book ai didi

c++ - 为什么我的电源运算符 (^) 不起作用?

转载 作者:太空狗 更新时间:2023-10-29 16:18:58 26 4
gpt4 key购买 nike

#include <stdio.h>

void main(void)
{
int a;
int result;
int sum = 0;
printf("Enter a number: ");
scanf("%d", &a);
for( int i = 1; i <= 4; i++ )
{
result = a ^ i;

sum += result;
}
printf("%d\n", sum);
}

为什么 ^ 不能作为电源运算符(operator)工作?

最佳答案

嗯,首先,C/C++ 中的 ^ 运算符是按位异或。这与权力无关。

现在,关于您使用 pow() 函数的问题,some googling表明将其中一个参数转换为 double 有助于:

result = (int) pow((double) a,i);

请注意,我还将结果转换为 int,因为所有 pow() 重载都会返回 double,而不是 int。不过,我没有可用的 MS 编译器,因此无法检查上面的代码。

自 C99 起,there are also float and long double functions called powf and powl respectively ,如果这有任何帮助的话。

关于c++ - 为什么我的电源运算符 (^) 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4843304/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com