当前位置: 技术问答>linux和unix
c++ 一个简单的问题。。。
来源: 互联网 发布时间:2016-02-07
本文导语: 刚接触c++, 总看到如下的一个开始语句, while(memset(buf,0,sizeof(buf)), fgets (buf, 1024, fp)) 。。。 while( , ) 怎么while里面有2个参数? | while(memset(buf,0,sizeof(buf)), fgets (buf, 1024, fp)) 相...
刚接触c++, 总看到如下的一个开始语句,
while(memset(buf,0,sizeof(buf)), fgets (buf, 1024, fp))
。。。
while( , ) 怎么while里面有2个参数?
while(memset(buf,0,sizeof(buf)), fgets (buf, 1024, fp))
。。。
while( , ) 怎么while里面有2个参数?
|
while(memset(buf,0,sizeof(buf)), fgets (buf, 1024, fp))
相当于
while(memset(buf,0,sizeof(buf))&&fgets (buf, 1024, fp))
相当于
while(memset(buf,0,sizeof(buf))&&fgets (buf, 1024, fp))
|
逗号表达式
按从左到右的顺序计算各个子表达式,整个表达式的值是最后一个子表达式的值
所以
while(memset(buf,0,sizeof(buf)), fgets(buf,1024,fp))
// ...
意思就是每次循环都将buf数组的内容赋值成0,然后调用fgets()函数,循环结束条件是fgets()返回0
按从左到右的顺序计算各个子表达式,整个表达式的值是最后一个子表达式的值
所以
while(memset(buf,0,sizeof(buf)), fgets(buf,1024,fp))
// ...
意思就是每次循环都将buf数组的内容赋值成0,然后调用fgets()函数,循环结束条件是fgets()返回0
|
基本的逗号表达式...取,后面的结果.
|
逗号表达式, 顺序执行, 最后的一个作为返回值.