在线编译器 C

#include <stdio.h> int main() { int a, b, t, i; scanf("%d %d", &a, &b); t=1; if(a>0 && b>=0) { if(b==0) { printf("1"); return 0; } if(b==1) { printf("%d", a); return 0; } if(b>1) { for(i=1;i<=b;i++) { t=t*a; } printf("%d", t); } } return 0; }
1) 这段代码用于计算整数a的b次幂(a^b),其中a必须是正数,b必须是非负数。它通过循环累乘实现幂运算,并对b=0和b=1的情况进行了特殊处理。

2) 提示:  
   - 注意代码中`if(a>0 && b>=0)`的条件,如果输入不满足这个条件(例如a为负数),程序会直接结束而不输出任何结果。  
   - 当b较大时,累乘结果可能超出`int`类型的表示范围,导致溢出错误。