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

#include <stdio.h> int main() { int n,m; scanf("%d %d",&n,&m); int temp=n; for(int i=1;i<m;i++){ temp=temp*n; } printf("%d",temp); return 0; }
1) 这段代码试图计算 n 的 m 次方(即 n^m),但存在逻辑错误:当 m 为 0 时,结果会出错。

2) 提示:考虑 m 为 0 或 1 的情况,循环的初始值和条件需要调整。另外,注意结果可能超出 int 类型的表示范围。