C语言中的while循环语句

# include <stdio.h>
main()
{ int a = -2, b = 0;
while ( a++&& ++b);
printf ("% d,% d\n", a, b);
}
程序运行后输出的结果是1,2
请问各位,为什么a =1?

这个就是i++和++i的区别,i++是先运算,然后i再自加,++i是先自加,然后再运算。像这题里面,第一次while,所以while(a++&&++b)就是所先a是-2为真(判断完后a自加变为-1)再判断++b,b先自加为1,判断得到真,所以继续循环。第二次while,a是-1为真,然后自加到0,再判断++b,b先自叫为2,判断得真,继续循环.重点就是第三次,此时while(a++&&++b)里面,是为while(0&&++b),因为前面先为假,&&的后面就不再判断,++b语句也就不运行。此后a自加为1,++b不运行,b依然是2.所以结果是1,2追问

while(0&&++b)
这个都为假了,为什么还要运算a++

追答

这里while(a++&&++b)是先判断a++再判断++b。a++是一个语句,当判断a的值后,必定会执行完a++这句话,后面++b不运行,是因为&&的问题,a++是在&&之前运行的,所以a++运行了。说得有点绕,能懂吗?就是说a++执行后,a值为1,返回值为0

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-06-01
while循环是对while括号后面的表达式进行真假的判断,,比如你用的a,C语言中有这样的规定,如果a=0;那么a 表达的就是假,如果a不为0,那么他表示的是真,因此,上面的循环,只要a不等于0,那么循环就一直进行
刚开始学的时候,我一直以为,只有在等于1的时候才是真,等于2他就不能循环了,其实那是错的,编译器判断真假条件的标准是他等不等于0,而不是等不等于1,楼主记住了哦~
还有就是,如果楼主的意愿是让a=0的时候退出循环,那么就可以按照你写的方法进行,如果楼主的意愿是让a=0的时候才循环,那么有2种写法
while(!a)
{
//对a进行非操作
}
还有就是
while(0==a)
{}
建议写成0== a 的形式,其实0==a,和a==0实质是一样的,但是如果你讲0==a,写成了0=a,那么编译器会报错,而将 a==0写成a=0编译器是不会报错的,可以减少风险。
祝你进步!!

c语言while循环用法
c语言while循环用法:一般形式如下:while(表达式){循环体内语句} 循环体外语句 其中执行过程如下:(1)计算while后面括号里表达式的值,若其结果非0,则转入(2),否则转(3)。(2)执行循环体,转(1)。(3)退出循环,执行循环体下面的语句。由于是先执行判断后执行循环体,所以循环体可能一...

while什么意思?
while(n--)是C语言中的一条语句,但这个语句并不是完整的,在其后面应该有循环体,while语句的一般表达式为:while(表达式){循环体}。while是计算机的一种基本循环模式。当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环。WHILE <条件> <语句体> end while do while <条件> <语句体...

C语言中while()的使用?
while(k=k-1) \/\/k每次先减1,减1后,如果k不为0,则执行{ }里的语句 { s = s+k;} 最开始k=4,s=0 第一轮:--k → k=3 不为0 , 即条件为真,所以执行循环体里的语句s+=k,即s = s+k; 即s = 0+3 ,所以 s = 3;第二轮:--k → k=2 不为0 , 即条件为...

c语言while知识?
在C语言中,while是一种常用的循环语句,其基本语法格式为:```while (条件表达式) { 循环体语句;} ```这个循环语句会不断地判断条件表达式的值是否为真(非0即真),如果为真则执行循环体语句,然后再次判断条件表达式,直到条件表达式的值为假(0)为止,循环结束。对于题目中给出的代码片段 `x-...

C语言中的while什么意思?
是一个控制语句,直到x=0才停止循环,!x是求反的意思,只要x值是零才成立。!x的意思就是x!=0,当X=0时执行while循环!即取反,当X!=0时不执行,!=组合在一起是逻辑运算符“不等于”。!x--这个表示对x作“非”运算。C语言运算符列表:1、优先级1级 结合方向左结合(自左至右)()圆...

在c语言中while()语句括号里面是一个数字代表什么意思,比如while...
c语言下,while()括号里面放的是循环的条件,若是真,则循环;否则,停止。1)任何非零的整数都是为真的,所以while(1)和 while(2)和 while(3)等都是一个意思。2)若是指针的话,NULL则为假,反之则为真。3)a > b 等类似的表达式,满足为真,反之为假。

c语言中while()是什么意思
在C语言中,while()是一个循环控制语句。它的作用是在满足特定条件的情况下反复执行某个语句块,直到条件不再成立为止。while()的基本语法非常简单,它的一般形式是:while(condition) { statement; } 其中,condition是一个用于判断是否继续循环的条件表达式,statement则是需要重复执行的语句块。只要条件...

c语言的循环语句有哪些
do-while循环是一种至少执行一次,然后满足特定条件继续执行的循环结构。其基本语法形式为:c do { \/\/ 循环体 } while(循环条件);无论循环条件初次是否为真,do-while循环的循环体至少会执行一次。之后,如果循环条件为真,继续执行循环体,直到循环条件变为假。以上三种循环语句在C语言中都有各自的...

C语言中while的用法
C语言中while的用法解析如下:一、1表示true,在bool类型取值false和true,0为false,非0为true(例如-1和2都是true)。程序中,这里1就表示永真,直到循环体内遇到break。二、while用法演示解析:1、含义:While 循环会在指定条件为真时循环执行代码块。2、语法如下:(如果忘记增加条件中所用变量的值...

C语言中while是什么意思
c 语言的while是循环语句 是用来循环遍历的 它的好处在于你没必要写很多的代码就可以达到你的目的 另外还有一个循环语句 是 do while 这个循环语句和while 的区别是 后者不管条件是否成立都要执行一次 而while则要看条件是否成立 while 的语法 while(判断语句){ \/\/执行语句 } do { \/\/...

相似回答