c语言m*=i*j什么意思

#include<stdio.h>
main()
{
int i,j,m=1;
for(i=1;i<3;i++)
{for(j=3;j>0;j--)
{if((i*j)>3)break;
m*=i*j;
}
}
printf("%d",m);
}
怎么运算

其中i*j是C语言中的乘法,作用为将i和j相乘,结果为者的积。
*=为C语言的特殊赋值运算符。
a*=b的格式,相当于
a=a*b;
即先将ab相乘,积赋值给a。a*=b的形式更高效。

于是m*=i*j会先计算i*j,再把结果与m相乘,最终赋值给m。
等效于
m = m * (i*j)
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-14
在C语言里面,a*=b;就是a=a*b;a+=b;就是a=a+b;在上述C程序中,m就是a,(i*j)就是b,所以m*=i*j;就是m=m*(i*j);
他这样写的目的是为了程序的简练,一般熟练的程序员都这么写。本回答被提问者采纳
第2个回答  2012-03-11
第一次循环i=1,j=3和j=2时都能执行m*=i*j,此时得到m的值为6;然后进行第二次循环i=2,j=3时会执行break语句,内部循环直接结束,此时i再加1,也会导致退出外部循环,所以最终结果m的值为6。
第3个回答  2010-07-03
这是一条复合的赋值运算语句:

m*=i*j;

是先将i*j,再将i*j的值与m想乘,其实就是m=m*(i*j)的简略写法!

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网