警告C4552:'< =':运算符无效;具有副作用的预期算子(C编程)

时间:2009-09-05 11:12:55

标签: c

以下行中的最后一行继续生成“警告C4552:'< =':运算符无效;期望运算符有副作用”错误,但我没有看到任何错误..

void countDays(void) {
int i=0;
if (birth_month == 2 && birth_day <= 28) {
    for ( i <= what_birthday ){

2 个答案:

答案 0 :(得分:13)

你在发布的代码中使用了错误的for循环语法,你的意思是这样吗?

for (; i <= what birthday; ++i) {...

如果你不关心在每次迭代后递增i,你可以使用while循环。

while (i <= what_birthday) { ...

如果没有分号,代码不应该编译。你得到的警告包括:

for (i <= what birthday; ++i;)

因为虽然它是有效的代码,但它可能不是你想要的。

答案 1 :(得分:2)

此代码等同于:

void countDays(void) { 
int i=0; 
if (birth_month == 2 && birth_day <= 28) { 
{

你可能意味着while而不是for