c语言中 if ((i = ! i) =0) 是什么意思

作者&投稿:笃娄 (若有异议请与网页底部的电邮联系)
C语言if(i%5==0)printf("\n");是什么意思~

if表示它括号里的条件满足时,就执行后面的语句;
也就是说,当i对5的余数刚好为0时输出一个换行;
其中,
代表了换行,printf是打出这个换行;
如果i表示数组的下标,那么就表示每输出5个数组元素换1行再继续输出
怎么样楼主,我的解释够精辟吧!

if((i=!i)!=0)意思是:
首先将i取非(计算机以二进制表示,其中0通常代表假,1代表真),然后赋值给i,再判断是否等于0,若不等于0则执行Push(&T,Pop(S));
否则执行EnQueue(&Q,Pop(S));

因为i的初值是0故第一步判断后执行Push(&T,Pop(S))
第二步执行EnQueue(&Q,Pop(S));
所以书上说的正确。
仅供参考!

不好意思先前的回答有点问题,现在改了。
这里的i其实没有记录数据,它的作用是:
第一次循环:其初值0,然后取非变为1;然后if语句判断是否为零。(显然第一次)
第二次时i的值已经变为1了,然后取非变为0,然后判断······
一直到循环结束。

if ((i = ! i) =0)应该是if ((i = ! i) ==0),注意这是if语句判断是否相等的,C语言中的等于号是==
if ((i = ! i) ==0)的意思是:先求变量i的非,再把值赋给i自身,然后比较i是否等于0
C语言规定非0为真,0为假,即如果i的值是除0以外的任意一个数,就认为i为真,则!i为假。
如果说的不对,还请指明

i=!i表示i在0和非0之间转换。!i的结果是逻辑值,要么为1,要么为0.
如果i=0,则!i=1;
如果i不等于0,比如i=5,那么!i=0;

if ((i = ! i) =0)这个表达式有误,应该是
if ((i = ! i) ==0)
就是判断i=!i之后,i是否等于0.

简化掉就是if(0)
如果是原来是if((i == !i) == 0)的话那么简化掉就是if(1)

我觉得楼主应该检查一下是一个等号还是两个等号


江油市19896418120: c语言中 if ((i = ! i) =0) 是什么意思 -
钮炎迪尔: if ((i = ! i) =0)应该是if ((i = ! i) ==0),注意这是if语句判断是否相等的,C语言中的等于号是== if ((i = ! i) ==0)的意思是:先求变量i的非,再把值赋给i自身,然后比较i是否等于0 C语言规定非0为真,0为假,即如果i的值是除0以外的任意一个数,就认为i为真,则!i为假. 如果说的不对,还请指明

江油市19896418120: C语言里if((i=!i)!=0)什么意思 -
钮炎迪尔: if((i=!i)!=0)意思是:首先将i取非(计算机以二进制表示,其中0通常代表假,1代表真),然后赋值给i,再判断是否等于0,若不等于0则执行Push(&T,Pop(S)); 否则执行EnQueue(&Q,Pop(S)); 因为i的初值是0故第一步判断后执行Push(&T,Pop(S)) 第二步执行EnQueue(&Q,Pop(S)); 所以书上说的正确.仅供参考! 不好意思先前的回答有点问题,现在改了.这里的i其实没有记录数据,它的作用是:第一次循环:其初值0,然后取非变为1;然后if语句判断是否为零.(显然第一次) 第二次时i的值已经变为1了,然后取非变为0,然后判断······ 一直到循环结束.

江油市19896418120: c语言里 i不等于1或者2,怎么表示? -
钮炎迪尔: 选d.a中<>这个运算符c中没有.b选项if (!a)只有当a=0时执行下面语句.c选项是赋值表达式令a=0. d选项if(a)表示当a不等于0时执行下面语句. .

江油市19896418120: 在C语言中:if(i%2)是什么意思 -
钮炎迪尔: i%2 表示i对2取余. 也就是求i/2的余数 用来做if的条件时 等效于if(i%2==1) 也就是说 如果i是奇数,那么判断成功 如果i是偶数 那么判断失败.

江油市19896418120: 在C中,为什么有的程序员将if(i==0)写成if(0==i) -
钮炎迪尔: 我来告诉你真正的答案吧:if(i==0)很容易写成if(i=0),这样的错误经常出现,但是编译器是不会报错的.但是如果你写成if(0=i),编译器就会报错,一个优秀的程序员在写条件判断语句的时候会写成if(0==i).

江油市19896418120: c语言中的 if(i+1)是代表当i+1=0时还是等于1时? -
钮炎迪尔: 我来说两句,LZ可能有点对if不太了解,if是条件判断语句,括号里边的表达式是条件,当表达式的值非零时,就是成立,这时执行if所要执行的语句,为零就不执行.表达式可以任意,但是,一般都用逻辑表达式,就是> b){a++;}这里,a确实大于b那么就是成立,执行a++.但是也可以用一般的就像你那个i+1,如果,i初始值为1那么,这个值就就为2呗,就是成立,如果是-1,就不成立了.就是计算这些式子的值,你说的到底是i+1为一还是零,这没法回答,看了我写的这些,能懂不

江油市19896418120: 全国2级C语言中的 if(i%3) continue; n++; 是什么意思? -
钮炎迪尔: if(i%3) //如果i除以3的余数不等于0continue; //则循环内continue以后的语句,不执行,进入下一次循环 n++; //n自加1

江油市19896418120: c语言中++i等价于i+1还是i=i+1 -
钮炎迪尔: ++i 等价于 i+1 这是表达式的值,再进行i=i+1

江油市19896418120: C语言中的if(表达式1;;表达式2;)中间省略是用1还是2来替代?
钮炎迪尔: 你写错了吧,C语言里哪有if(表达式1;;表达式2;)的,是不是for(表达式1;;表达式2)哦

江油市19896418120: c语言for(i=1;i+1;i++)什么意思 -
钮炎迪尔: i=1是赋值初始化表达式只执行一次,i+1是判断,因为i=1,i+1=2非0所以为真,循环一直执行,i++是修正表达式也跟着循环, 如for(i=1;i+1;i++){if (i>4) {printf(“%d”,i++);break;}printf(“%d”,i++); }结果输出为135,这里for中的i+1只判断不运算,由于有break存在所以能够在5处结束循环而不是一直执行下去

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