您的位置:

c语言while语句常见问题,c语言里while语句

本文目录一览:

c语言while循环的问题

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语句的相关问题

while(表达式1)

当表达式值为假时结束循环,为真时保持循环

c语言规定,所有的变量都有值,而在所有的值里面,只有0,NULL。\0三个值可以看做为假(原则上float型的0.0也是真,但是实际编程中把他看做成了int的0,为假)其他值都是真

而且对于任何值为真的变量x,!x的值就是0,而对于x=0的情况,!x默认为1

所以,while (!x)等价于while(!x != 0) 等价于while (x == 0)

c语言 while 语句问题

Z:printf("aaaaaaaaaa");

Y:printf("dddddddddd");

这两个goto的问题;

1,当开始输入c=1时while函数体通过goto Z语句跳出while循环体去执行Z语句,接着顺序执行Y语句,到此程序运行完毕:输出结果为:aaaaaaaaaadddddddddd。再次运行还是可以得到相同的结果。

2,当输入C=2时while函数体通过goto Y语句跳出while循环体去执行Y语句,此时程序运行结束:输出结果为:dddddddddd。再次运行还是可以得到相同的结果。

3,当输入既不是1又不是2时,比如就是楼住所说的字母吧。while函数体去执行其内语句“else printf("aadd"); ”程序执行就进入死循环:不断地输出aadd。

解释如下:当定义C为整型变量时,程序自动给C分配了存储空间,当输入一字母给C时,此字母的值也相应存入了其存储空间;然后经过if语句的判断后,最后执行while循环体内的语句“else printf("aadd");”,执行完后又进入while函数体入口;由于此时C的地址空间已经存在特定的值 ,所以程序不再请求输入一个值,而是继续经过if语句判断后去执行语句“else printf("aadd");”输出aadd,如此循环下去就是死循环了。

要点是:scanf函数不能在同一地址空间上多次赋值,只许一次。

c语言 while语句问题

1是用输入的变量x的值作为中断输入循环的标志,即当输入0时,结束输入。

2是用scanf()函数的返回值作为停止输入循环的标志。而scanf的返回值是输入成功的变量的个数,只有当一个数字也没有输进去的时候才=0。即使输入0,也是输入成功的。

所以,输入0并不能结束输入。