#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-valueError executing cl.exe.
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/05 21:09:24
#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.
首先你要知道一点,能放在赋值号(=)左边的必须是可写的.
然后一点,函数的返回值问题,这里的f()的返回值是int& 也就是一个int型的引用.如果返回的不是引用,那么返回值会产生一个临时变量,将这个临时变量赋给等号左边对象;而如果是引用的话,就不会产生临时变量,直接将引用所指的对象赋值给等号左边的对象.
临时对象是不可以做为左值的.所以不加&就会出错.
因为这里的f返回的是x的引用,(x是个全局变量,所以他这么做是有意义的).因此f()=100就相当于x=100.
建议你在刚开始学C++的时候先多看看书,要不一些很基本的语法问题,解释起来会很麻烦,而且意义不大.
#include void main( ) { int k=-3; if (k
#include void main(void) {int a1=10,a2=3; float a3=8.0; cout
#include reg52.h sbit P1_0 =P1^0; void DELAY(); main() { while(1) { DELAY(); P1_0=~P1_0; } } void
以下程序中,while 循环的次数是#include void main(void){ int i = 0;while (i
#include void main( ) { float x,y; scanf(%f,&x); if(x
#include void main(){int i,j,a=0;for(i=0;i
#include void main( ) { float x,y; scanf(%f,&x); if(x
# include void main() { int y=10; while(y--); printf(y=%d,y); }
九九乘法表程序#include void main(){int i,j,a;for(i=1;i
#include void main() { int i;int sum=0; for(i=1;i
#include void main() { int a[3][3],i,j; for(i=0;i
#include void main() { int y=10; do{ y--; } while(--y); printf(%d
,--y); }
#include void main() { int a,b,c; for(a=1; a
#include void main() { int a,c; a=0; if (a
编程分段函数#include void main(){int x,y;scanf(%d,&x);if(x
# include void main( ) { int x = 4 ; do { printf( %d ,x-- ) ; } while( x ) ; }
#include void main() { char a1='M',a2='m'; printf(%c
,(a1,a2)); }
#include void main(){int a[30];int i;for (i=0,i