Онлайн компилятор C

// 计算 a 的 b 次幂,a 为整数(-10 到 10),b 为正整数(1 到 40) #include <stdio.h> int main() { int a, b;//输入值a,b scanf("%d %d", &a, &b); int power = 1;//幂power for (int i = 1; i <= b; i++) //循环变量i==累乘次数==输入值b { power = power * a;//幂底数a 累乘b次 } printf("%d\n", power); return 0;
这段代码的功能是计算整数 a 的 b 次幂,通过循环将 a 累乘 b 次得到结果并输出。代码逻辑基本正确,但有一个潜在问题需要注意。

- 当 b 较大时(比如接近 40),a 的 b 次幂可能会超出 int 类型能表示的范围(通常最大约 21 亿),导致整数溢出,输出错误结果。你需要考虑如何处理这种大数情况。
- 另外,当 a 为负数且 b 为奇数时,结果应为负数,你的代码能正确处理这种情况,但可以思考一下是否还有其他边界情况需要留意。