读书人

新手请问关于赋值和while循环

发布时间: 2012-04-06 12:22:24 作者: rapoo

新手请教关于赋值和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前面定义过

C/C++ code
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

读书人网 >C++

热点推荐