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

#include<stdio.h> int main(){ int n,m,temp; scanf("%d %d",&n,&m); for(int i=1;i<m;i++){ n=n*n; } printf("%d",n); return 0; }
1) 这段代码试图计算 n 的 m 次方,但逻辑有误。它通过循环将 n 重复平方,而不是乘以原始的 n 值。

2) 提示:检查循环次数和每次迭代中 n 的变化。例如,当 m=3 时,代码实际计算的是 n^(2^(m-1)),而不是 n^m。