C 我可以在循环中分配和计算表达式吗?

C 我可以在循环中分配和计算表达式吗?,c,while-loop,expression,variable-assignment,C,While Loop,Expression,Variable Assignment,我的意思是: while(lu = read(d1, buf, sizeof(buf)), lu > 0 ) 语法很好?我建议: while((lu = read(d1, buf, sizeof(buf))) > 0 ) 我建议: while((lu = read(d1, buf, sizeof(buf))) > 0 ) 我建议: while((lu = read(d1, buf, sizeof(buf))) > 0 ) 我建议: while((lu = read

我的意思是:

while(lu = read(d1, buf, sizeof(buf)), lu > 0 )
语法很好?

我建议:

while((lu = read(d1, buf, sizeof(buf))) > 0 )
我建议:

while((lu = read(d1, buf, sizeof(buf))) > 0 )
我建议:

while((lu = read(d1, buf, sizeof(buf))) > 0 )
我建议:

while((lu = read(d1, buf, sizeof(buf))) > 0 )

它的语法很好,但语义很差

换句话说,这段代码并没有做你认为它做的事情,这让它有点危险

由于赋值(
=
)的优先级低于比较(
),因此它不会以您需要的方式进行计算

要修复此问题,请添加括号:

while((lu = read(d1, buf, sizeof buf)) > 0)

另外,请记住,
sizeof
不是一个函数。

它的语法很好,但语义很差

换句话说,这段代码并没有做你认为它做的事情,这让它有点危险

由于赋值(
=
)的优先级低于比较(
),因此它不会以您需要的方式进行计算

要修复此问题,请添加括号:

while((lu = read(d1, buf, sizeof buf)) > 0)

另外,请记住,
sizeof
不是一个函数。

它的语法很好,但语义很差

换句话说,这段代码并没有做你认为它做的事情,这让它有点危险

由于赋值(
=
)的优先级低于比较(
),因此它不会以您需要的方式进行计算

要修复此问题,请添加括号:

while((lu = read(d1, buf, sizeof buf)) > 0)

另外,请记住,
sizeof
不是一个函数。

它的语法很好,但语义很差

换句话说,这段代码并没有做你认为它做的事情,这让它有点危险

由于赋值(
=
)的优先级低于比较(
),因此它不会以您需要的方式进行计算

要修复此问题,请添加括号:

while((lu = read(d1, buf, sizeof buf)) > 0)

另外,请记住
sizeof
不是函数。

如果是,请询问编译器。问问你的同事,如果你想知道这是否是一种好的风格。我认为不是。如果是的话,问问你的编译器。问问你的同事,如果你想知道这是否是一种好的风格。我认为不是。如果是的话,问问你的编译器。问问你的同事,如果你想知道这是否是一种好的风格。我认为不是。如果是的话,问问你的编译器。问问你的同事,如果你想知道这是否是一种好的风格。我想不是。