c++中 if(a%b) 是什么意思 为什么在a%b之后没有任何指令 。 好的给分 。 C++中:"a">"b"这种是不允许的,可为什么if("a"...

作者&投稿:沃购 (若有异议请与网页底部的电邮联系)
%是取余数,a对b取余数,注意,0是假的,false,非0是真的,true。括号里面余数是0,那就是false,if后面将不会执行,也就是a能被b整除;括号里面是非0,可能是任何非负整数(你这里a,b的值不确定),那就是true了,将会执行if后面的语句了,也就是a不能被b整除的情况。不知是c++,其他的语言也是一样的,if要判读真假。

a%b是除以b去其余数,

if(a%b)就是判断这个余数是否不等于0,不等于0,就是条件满足。

等于0就是条件不满足

意思是 如果 a%b 不等于零也即a不能被b整除,条件成立
否则不成立

在C++中,a+=b %=a+b,是什么意思?怎么理解?最好能把它拆开。~

几乎所有语句是从右向左理解的:
b=b%(a+b)a=a+b直接分别用1和2代入,
b=2%(1+2) //b=2a=1+2 //a=3%是取余,除了a是0的情况下,第一句的结果都只会是b自己;
然后这句的结果,除了a、b均为0的情况外(不肯定0%0的结果):
a为0,b不是0,最终结果是a、b都是1;
b为0,a不是0,最终结果是a、b均不变;
其余情况,a加了b的值,而b不变。

你给点详细的提示吗,因为这种错误的产生可能是由于上下文的缘故,并不是单句话的缘由