首页 > 电脑

c语言中while的问题

更新时间2019-01-07 10:04:49

#include<stdio.h>
void main()
{
    int k=0;
    while(k=1)
    k++;
    printf("%d",k);
}

while的括号里面不应该是两个等于号吗?一个等于号的话,程序结果为什么是死循环。

如果把while换成if,为什么运行结果是2?

c语言里一个等于号的意思是赋值
就是说k=1是把1赋给了k
而逻辑等于应该用两个等号
然后while和if的判断方式中,1的值表示true,就是说while(k=1)是把1赋给k之后进行对k的true和false的判断,每次都是true,所以会死循环
if判断同理,它会先把1赋给k,然后判断结果是true,执行下一语句k++,k就从1变成了2

while(!a) 表示当a为false(或a等于0)时,执行while循环体,否则不执行。其等价语句为 while(a==0)。

相关标签:c语言

上一篇:我把我所有微信,qq,淘宝和支付宝支付密码都给我女朋友了,她说,你就不怕我骗你钱啊?她说这话啥意思?

下一篇:除了MVC框架外,还有什么软件设计典范