新手请教关于赋值和while循环
int a=b=c=d=0;对吗?和int a=0,b=0,c=0,d=0; 一样吗?
string a;
while(cin>>a)怎么结束输入啊?
[解决办法]
int a=b=c=d=0;对吗?和int a=0,b=0,c=0,d=0; 一样吗?
这两个定义不一样,他们的计算顺序不一样,
int a=b=c=d=0;这是个连续的赋值运算,对于这个定义是从右到左计算,因为赋值运算符是右结合,先进行d=0的计算,而此时d还没有定义,是不能赋值的,会发生编译错误。
int a =0,b=0,c=0,d=0;这是个逗号表达式,逗号表达式是从左向右计算的,先定义a并给a初始化,再定义b并给b初始化,一直到d。
string a;
while(cin>>a)怎么结束输入啊?
在键盘上同时按下ctrl+z就结束循环了
[解决办法]
不一样
int a=b=c=d=0;
出错是因为,相当于,你知定义了a的类型,然后直接将0赋给,b,c,d.但是你没有定义b,c,d的类型啊。
我不知道LS几位说一样的是什么意思。笑
[解决办法]
第一种写法都要保证b,c,d前面定义过
int b, c, d;int a = b = c = d = 0; // int a=0,b=0,c=0,d=0;
[解决办法]
对于string a;
while(cin>>a)怎么结束输入啊?
别说你看了这个还不会
http://www.cnblogs.com/chenyuming507950417/archive/2012/03/23/2414114.html