vs c++编译程序后提示 表达式必须是可修改的左值 是怎么回事儿啊如下

vs c++编译程序后提示 表达式必须是可修改的左值 是怎么回事儿啊如下,第1张

把m%i=0改成m%i==0就妥了。左值表达式必须是能够接收赋值的表达式,比如++a、a=3、a+=109等等。实质上左值表达式的结果是一个可接收数据变量,如果表达式的值还不确定,那就不能接收数据,也就不能做左值表达式,如a++、a+1、x+y等。m%i不能作左值表达式,因为m%i=0不能表示把0赋给谁,而m%=i可以做左值表达式,因为它的值就是m的值,再给变量m赋一个新值当然是合法的。

第二个FOR循环那儿。ClassAverage是个数组。你把这个数组的头指针指向0(也就是NULL了)。所以这里没报错(但是逻辑上错了)

所以你ClassAverage应该定义为float型,而不是float数组型

即在ClassAverage定义时写为float ClassAverage;

我试着编译了一下,没问题。

逻辑没太细看

还有最后输出"%ld%d%d%d81f\n"是什么意思?如果ID是1 分数分别为10 10 10,那么输出结果为110101081f

表达式必须是可修改的左值,可以改为变量,不能是表达式。

例如:在本文的中,if语句就写错了,d%5 而不是 d5;

再就是 d%7==4,而不是 d%7=4,说的表达式必预是可修改的左值就是这这里。

一个if 语句由一个布尔表达式后跟一个或多个语句组成。

如果布尔表达式为rue,则if语句内的代码块将被执行。如果布尔表达式为false,则if语句结束后的第一组代码(闭括号后)将被执行。

C语言把任何非零和非空的值假定为true,把零或null假定为false。

C语言的运算:

C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。

当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则就会显得十分重要。

以上就是关于vs c++编译程序后提示 表达式必须是可修改的左值 是怎么回事儿啊如下全部的内容,包括:vs c++编译程序后提示 表达式必须是可修改的左值 是怎么回事儿啊如下、左 *** 作必须为左值什么意思、表达式必须是可修改的左值怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9767339.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存