Online Compiler C

#include <stdio.h> int main() { int a, b, i, t; scanf("%d %d", &a, &b); for(i=1;i<=b;i++) { t=a; t*=a; } printf("%d", a); return 0; }
1) 这段代码试图计算 a 的 b 次方,但存在逻辑错误:循环内每次都将 t 重置为 a 再乘以 a,最终结果没有正确累积,且输出的是原值 a 而非计算结果。

2) 提示:考虑使用一个变量(如 result)初始化为 1,在循环中持续乘以 a。注意循环次数应等于指数 b。