请问语句do{.}while(!i )是什么意思?为什么会构成死循环?
问题描述:
请问语句do{.}while(!i )是什么意思?为什么会构成死循环?
最好具体解释一下括号中(!i)是什么意思
答
首先说说do……while的原理
假设语句内容为do A while(B)
则首先执行语句A,然后对语句B进行判定
若B为真,则再次执行A,判定B,如此循环
若B为假,则循环结束
回到你的问题,根据问题内容,判定语句B为!i,也就是i的否定
那么当i为真,或者在c语言中为非0的数值的时候,则循环结束
那么在A语句,也就是do后面那一段中,一定要有能改变i的语句存在,否则i就会是固定的一个值
若该值为0,或者为false,那么while的判断则一直为真,循环一直持续下去,无法结束,造成死循环