狂想曲丶 发表于 2020-11-6 15:16:46

表达式必须是可修改的左值

#include<stdio.h>
void main()
{
        int x, y, z;
        for (x = 0; x <= 20; x++)
        {
                for (y = 0; y <= 33; y++)
                {
                        for (z = 0; z <= 300; z++)
                        {
                                if (5*x + 3 * y + 1 / 3 * z = 100 && z % 3 == 0)
                                        printf("%d,%d,%d", x, y, z);
                        }
                }
        }
}

报错显示if内=左侧表达式必须是可修改的左值

sunrise085 发表于 2020-11-6 15:26:45

你应该是打算判断 5*x + 3 * y + 1 / 3 * z 是否是100吧?
那样的话,应该是两个等号,一个等号是赋值操作符,赋值操作符的左值必须是可修改的值,也就是变量;凉的等号才是相等运算符,比较左值和右值是否相等
页: [1]
查看完整版本: 表达式必须是可修改的左值