本人想在一个句子里面声明多个变量并赋同样的值,可否写成
int i=j=k=1;
也就是声明i,j,k三个标量然后赋值为1
1. 事实上上面这个句子是编译不过去的。为什么呢?
2. int i=j=1是不是j=1, 然后把j=1作为一个字表达式,返回值赋给i?
3. C++标准有没有说i=j=1这样的句子应该怎么样解析,有什么章节专门说吗?
解决方案
5
1. j 和 k 没有声明
2. 是
3. 附录A Grammar summary
2. 是
3. 附录A Grammar summary
30
int j,k; int i=j=k=1; //这样就可以了 //一个声明里面,声明不同的变量,需要逗号分隔开来。 int j,k,t=j=k=1; //这样也可以(C++可以,C 不太清楚可以不)。
10
int i=j=k=1; 这句话只是声明了i 然后赋值i j k
所以这条语句前你得声明过j 与k才是正确的
所以这条语句前你得声明过j 与k才是正确的