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

use*_*466 0 c

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

void countDays(void) {
int i=0;
if (birth_month == 2 && birth_day <= 28) {
    for ( i <= what_birthday ){
Run Code Online (Sandbox Code Playgroud)

Fir*_*aad 13

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

for (; i <= what birthday; ++i) {...
Run Code Online (Sandbox Code Playgroud)

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

while (i <= what_birthday) { ...
Run Code Online (Sandbox Code Playgroud)

如果没有分号,代码就不应该编译.您会收到以下内容的警告:

for (i <= what birthday; ++i;)
Run Code Online (Sandbox Code Playgroud)

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