永发信息网

c语言循环语句

答案:4  悬赏:80  手机版
解决时间 2021-04-26 22:11
  • 提问者网友:自食苦果
  • 2021-04-26 10:13

t=0;

while (printf("*"))

{t++;if(t<3) break;}

为什么循环控制表达式与'0'(不是0)等价呢?

最佳答案
  • 五星知识达人网友:神鬼未生
  • 2021-04-26 11:44

while后为一个表达式(expression),当此表达式为True(或非0)时,循环继续,当此表达式为False(或0)时,循环结束。


printf("*")和'0'的结果都不是0,故等价。

全部回答
  • 1楼网友:舍身薄凉客
  • 2021-04-26 14:13
在底层是按照ASCII码计算的,所有的字符都有对应的ASCII码,也就是数字
  • 2楼网友:渊鱼
  • 2021-04-26 13:39

t++之后,t变成1,小于3,所以跳出循环了

  • 3楼网友:神的生死簿
  • 2021-04-26 12:17
因为while本身是看循环控制表达式的结果是否为零来判断循环是否继续进行的。printf(“*”)正确执行后的返回值并不是一个为零的值;对于‘0’,在ascii码中值也不是零,所以这两个是等价的。真正控制循环结束的是break语句。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯