c语言error C2106: '=' : left operand must be l-value是什么意思?

百马百担问题。有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马1担,编程计算所有可能的驮法?
#include<stdio.h>
int main()
{
int a,b,c;
for(a=0;a<=33;a++)
for(b=0;b<=50;b++)
for(c=0;c<=200;c++)
{
if(a*3+b*2+c/2=100)
printf("%d,%d,%d\n",a,b,c);
}
return 0;
}
老是显示error C2106: '=' : left operand must be l-value 这是哪里错了啊? 我是新手,求大神指导。

第1个回答  2014-11-14
if(a*3+b*2+c/2=100)
这个括号里面是判断条件,=为赋值运算,左边必须是变量,判断相等应为==,
故应改为:if (a*3 + b*2 + c==100)本回答被提问者采纳
第2个回答  2019-08-14
行参定义为char
name[][8],char
dep[][10]
name,dep都是二维字符数组,所以name[j]是一维字符数组,相当于一个const
char
*,所以不能作为等号的左操作数
name[j]=name[j+1];
dep[j]=dep[j+1];
这两句都是错误的
第3个回答  2014-11-14
if(a*3+b*2+c/2=100)加一个等号 改为if(a*3+b*2+c/2==100) 判断中需要用两个等号表示等于追问

谢谢,这个问题解决了。但是计算出来的答案还是不正确,奇数个小马也算进去了,这要怎么办啊?

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网