鱼C论坛

 找回密码
 立即注册
查看: 1236|回复: 4

[已解决]这题!!

[复制链接]
发表于 2020-6-11 12:38:48 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
[题5.7]设有程序段:
t=0;
while (printf(" *"))
{ t++;
if(t<3) break;}

A)其中循环控制表达式与0等价
B) 其中循环控制表达式与'0'等价
C)其中循环控制表达式是不合法的
D)以上说法都不对
为什么答案选B,printf不是有返回值1?
最佳答案
2020-6-11 18:54:48
①printf的返回值根据其打印的字符来决定的,printf("*"); 返回值为1, while(printf("*");) == while(1)   等价于  while(true)
②'0'的ascii码值为48 , while('0') == while(48) 等价于 while(true)
③因此while(printf("*");) 等价于 while('0')
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-23 04:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表