#include <stdio.h>
int main() {
int a, b, i, t;
scanf("%d %d", &a, &b);
for(i=1;i<=b;i++)
{
t=a;
t=t*a;
}
printf("%d", a);
return 0;
}
1) 这段代码试图计算 a 的 b 次方,但存在逻辑错误:循环中每次都将 t 重新赋值为 a,然后计算 t = t * a,但最终输出的却是原始的 a 值,导致结果错误。
2) 提示1:思考一下,计算幂次时,应该用一个变量持续累积乘法的结果,而不是每次重新赋值。
提示2:注意最终输出的是哪个变量,它是否在循环中被正确更新了?