#include void main () { int x,y,z,a,b,c,d,g,f; scanf("%d+%d"
来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/28 03:07:03
#include void main () { int x,y,z,a,b,c,d,g,f; scanf("%d+%d",&x,&y); a=x/100;b=y/100; c=x
那里错了?提示是c:\documents and settings\g-st-09\桌面\c.cpp(14) :error C2106:'=' :left operand must be l-value
Error executing cl.exe.
那里错了?提示是c:\documents and settings\g-st-09\桌面\c.cpp(14) :error C2106:'=' :left operand must be l-value
Error executing cl.exe.
首先你要知道一点,能放在赋值号(=)左边的必须是可写的.
然后一点,函数的返回值问题,这里的f()的返回值是int& 也就是一个int型的引用.如果返回的不是引用,那么返回值会产生一个临时变量,将这个临时变量赋给等号左边对象;而如果是引用的话,就不会产生临时变量,直接将引用所指的对象赋值给等号左边的对象.
临时对象是不可以做为左值的.所以不加&就会出错.
因为这里的f返回的是x的引用,(x是个全局变量,所以他这么做是有意义的).因此f()=100就相当于x=100.
建议你在刚开始学C++的时候先多看看书,要不一些很基本的语法问题,解释起来会很麻烦,而且意义不大.
然后一点,函数的返回值问题,这里的f()的返回值是int& 也就是一个int型的引用.如果返回的不是引用,那么返回值会产生一个临时变量,将这个临时变量赋给等号左边对象;而如果是引用的话,就不会产生临时变量,直接将引用所指的对象赋值给等号左边的对象.
临时对象是不可以做为左值的.所以不加&就会出错.
因为这里的f返回的是x的引用,(x是个全局变量,所以他这么做是有意义的).因此f()=100就相当于x=100.
建议你在刚开始学C++的时候先多看看书,要不一些很基本的语法问题,解释起来会很麻烦,而且意义不大.
#include void main () { int x,y,z,a,b,c,d,g,f; scanf("%d+%d"
# include void main() {int a,b,c,t; scanf("%d%d%d",&a,&b,&c)
c语言ab比较大小#include "stdio.h"void main(){int a,b;scanf("%d",&a
#include void main(){int a,b;scanf("%d %d" ,a,b);printf("%d
#include #include void main() { float a,b,c,d; scanf("%d,%d,
编程分段函数#include void main(){int x,y;scanf("%d",&x);if(x
#include int main() { int a,b,c; scanf("%d,%d",&a,&b); print
#includevoid main(){int max(int x,int y);int a,b,c;scanf("%d
#include main() { int a,b,c; scanf("%d,%d",&a,&b); if(a>b+1)
C语言求素数和#include#includevoid main(){int a,b,c,d,sum;scanf("%d
#include main(){char a,b; int c; scanf("%c%c%d",&a,&b,&c);pr
#include #include int main(void) { float a,b,c,x,y,z; printf