c++,if(i%2)啥意思,谢谢

如题所述

if (i%2){};
% 是整除取余数运算。
i%2 若 i 是奇数,i%2 得 1,就是真。要执行{} 里的 i++; 并continue( 跳走,做下次循环)
i%2 若 i 是偶数,i%2 得 0,就是假。不执行{},进下两句:i++; s+=i;
=====================
我们来跑一次程序:
初始,i=0;s=0;
i=0; if (0) 不执行{} ; i=1 s = 1;i=1; if(1) i=2; con跳走
i=2; if(0)不执行{} ; i=3; s=1+3=4i=3; if(1) i=4;con跳走
i=4; if(0)不执行{} ; i=5; s=4+5=9i=5; if(1); i=6;con跳走
i=6; if(0)不执行{} ; i=7; s = 9+7=16i>7 退出 while
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-19
%是整除取余的意思,i%2的值就是i除以2的余数。
if()里面省略了!=0(即不等于0),完整的判断应该是if(i%2!=0)。
在C语言里面0即为假,非0即为真。
所以这句话的意思是:
如果i%2不等于0,即i%2为真,即i是奇数,则执行{}里面的内容;
如果i%2等于0,即i%2为假,即i是偶数,则跳过{}里面的内容。追问

谢谢

第2个回答  2015-09-14

    if(i%2)是一个判断语句,若结果为真,则执行if中的语句,若为假,则不执行

    i%2 的意思的取i除以2后的余数

    if后面圆括号中的表达式一般是关系表达式或逻辑表达式,它表示分支的条件

第3个回答  2013-12-18
i对2取余数
如果i是奇数,则if条件为真追问

余数有啥用

是不是写错了,余数是奇数

追答

i是奇数,对2的余数不也是奇数了么。
目的就是i每增加2次,其中执行一次大括号的内容。

追问

谢谢

相似回答