gpt4 book ai didi

c - c 中的整数幂

转载 作者:行者123 更新时间:2023-12-04 16:37:30 25 4
gpt4 key购买 nike

我一直在研究一些基本的编码,我正在努力找出扫描到整数的正确方法,第一个是我的 x 变量,第二个是 x 被提升到的 n。我尝试 5^5 并用我当前的代码得到 -287648。

#include <stdio.h>
#include <math.h>

void x_to_the_n (void)
{
int x=0;
int n =0;
long int y;
printf("Enter a integer for X and N\n");
scanf("%i\n%i\n",&x,&n);
y=pow(x,y);
printf("%i \n",y);
}

int main(void)
{
x_to_the_n ();
return 0;
}

最佳答案

我很确定你的意思是:

y = pow(x, n);
~~

你会得到一个“奇怪”的结果,因为 y 从未被初始化为任何东西;你正在将 x 提高到(一些垃圾)的幂并清除垃圾。

请注意,正如@0A0D 在评论中建议的那样,如果您要使用更多描述性变量,这个问题会更加明显:

int base = 0;
int exponent = 0;
long int result;
printf("Enter the base and exponent, on separate lines\n");
scanf("%i\n%i\n", &base, &exponent);
result = pow(base, result);
~~~~~~~ oops!

此外,正如@icepack 提到的,由于 y 是一个 long int,格式应该是 %li(不是 %i):

printf("%li\n", y);

关于c - c 中的整数幂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15394216/

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