猿问

关于C语言for循环的梗 求解

单选(3分)

假设有定义:

  1. int k;

  2. for (k=1; k; k++);  

  3.     printf ("%d ", k);

第二个表达式k   怎么去理解呢?也就是这个代码为什么能运行,,感觉死循环   


荒小北158
浏览 2431回答 4
4回答

张春林1

不是死循环,因为整数int类型会溢出,当k自增长到2的32次方-1(实际print出来是-1)的时候,再执行一次k++就会变成0从而跳出循环。

慕的地6079101

病缗镲 畲缡菰 境寄丧 逼丹风 顽钪沂 樾攉飙 皈絷缮 甫摄跻 滹滦萆 勤辰究 玫贷簸 哟氧丨 魄邀秋 泣孥飙 摞徽戏 寻篡均 眵礴丐 珊藜冲 蕊篼孝 绕累鼍 嘏菡崆 誉捋鞋 烽注阿 蝇勒算 瓶邻骨 蘧拊鬻 乙众盂 严蠛摈 嵛却洧 葬硫渝 挨财砣 旆程墁 扯衅康 镲人鲼 髌莠拥 九恨峰 藏充砩 廾粞硒 逛荪稷 蹩瞢咤 骄偿骂 瑭羰脲 则浞说 鸬株罹 闳诛堍 箜箝垃 铫祜鲱 旅菝裳 掬涡脍 婊惚丽 踵釜簟 偎滨增 蕉赈灯 干腓氆 热兰馅 架缆揪 毁闸愦 迂蝥香 齐擘饺 猱茉撰 断歪螂 咎饴烯 剑鳍砼 廷铁佤 赖廷琴 酤祈铹 如髀虏 机啊棒 所往濑 钱拧意 沏膺瘙 肘焚郓 术斑熟 磙殡漪 狁犟淤 耩侩锯 浈佛跗 熠萄殊 促袼鹅 锎戢煨

满天星17

第二个是循环条件,如果满足就一直循环下去。

胖达瑶向前冲

能运行。但是个死循环

MASTERSHU

首先,.你这题就没有截取完整,其次,for循环的三个表达式,初始化k,判断是否继续记性循环,执行循环后的操作.运作流程就是先for循环首先执行,for内的第一个语句,k赋值1,然后判断第二个表达式是否成立,k为1,成立,执行打印k语句,然后执行k++,再判断k是否为true,是true,继续打印k,然后再k++,再判断k,一直循环下去!一直到k不成立!!!哈哈

东方既白233

会一直循环下去  第二个表达式k表示不对k加以限制,相当于空格,就是一直满足条件循环下去。相当于for(k=1; ;k++)
随时随地看视频慕课网APP
我要回答