c语言中while的问题 - 爱问答

(爱问答)

c语言中while的问题

#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语言

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

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

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?