我的意思是这样的:
while(lu = read(d1, buf, sizeof(buf)), lu > 0 )
它的语法很好吗?
答案 0 :(得分:2)
它的语法很好,但语义很差。
换句话说,该代码不会按照您的想法执行,这会使其有点危险。
由于作业(=
)的优先级低于比较(>
),因此不会以您需要的方式进行评估。
要修复它,请添加括号:
while((lu = read(d1, buf, sizeof buf)) > 0)
另外,请记住sizeof
不是函数。
答案 1 :(得分:1)
我建议:
while((lu = read(d1, buf, sizeof(buf))) > 0 )