为什么答案是B 怎么理解?

C语言:while(printf("x"))内的表达式为什么与'0'等价,如何解释? t=0; while(printf("*")) { t++; if(t<3) break; } 下面描述正确的是: A 其中循环控制表达式与0等价 B 其中循环控制表达式与'0'等价 C 其中循环控制表达式是不合法的 D 以上说法都不对 

守着星空守着你
浏览 190回答 2
2回答

蛊毒传说

他说的是printf("*")与‘0’等价其实是这样的printf这个函数的返回值是输出字符的个数现在printf("*")的返回值是1在while里只有0和非0两种所以只要选排一个非0的就能说是等价的而‘0’需要转成ASCII码看是不为0的所以选B

慕的地10843

楼主你好!printf()函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值。这里题目返回整数1。由于'0'的ascii码为48,属于非0!while()函数括号里的非0相当于true,0相当于false。所以只要是括号里为非零,都是true!答案是b
打开App,查看更多内容
随时随地看视频慕课网APP