请详细解释下面C程序

来源:百度知道 编辑:UC知道 时间:2024/05/25 10:19:57
main()
{
int i,m,n,num=1;
scanf("%d %d",&m,&n);

for(i=0;i<n;i++) num*=m;

printf("Result: %d",num);

getch();
}
num*=m;是什么意思

这段程序的作用就是:求m的n次方。

main()
{
int i,m,n,num=1; //定义4个变量i,m,n,num 把num的值赋为1
scanf("%d %d",&m,&n); //输入m和n的值

for(i=0;i<n;i++) num*=m; //一个循环语句,括号里的就是控制循环次数的语句,i赋为0,如果i小于n就继续执行,每执行1次i就加1,直到i不小于n的时候就不执行了。每次都把num乘以m的值赋给num,一共执行n次。如果n为0,就执行0次,那么i<n就不成立,就不执行此循环语句,num的值还是为初始化的1,任何数的0次方结果都为1。如果执行1次,就是m的1次方,就是m乘以初始值为1的num一次,值为m本身。如果执行2次,由于执行一次后m的值保存在了num里,所以第2次m*num,就是m*m,就是m的平方。以此类推。

printf("Result: %d",num); //输出num的值。

getch(); //为了让结果留在屏幕上,写了一个输入语句。
}

建议找本书先看看,随便一本书都说得很详细的。
main() /*主函数,程序从这里开始运行*/
{
int i,m,n,num=1; /*定义4个整形变量,并给num赋值*/
scanf("%d %d",&m,&n); /*从键盘输入两个整数,m和n*/
for(i=0;i<n;i++) num*=m; /*计算m的n次幂*/
printf("Result: %d",num); /*输出结果*/
getch(); /*按任意键结束*/
}

num*=m;就是num=num*m;
类似的有:
num/=m;即num=num/m;
num+=m;即num=num+m;
num-=m;即num=num-m;

num*=m;就是num=num*m;
main() //主函数,程序从这里开始运行