这个循环表达式: 和别的循环表达式不同的地方在于:它的int j = 0后面,多了一个逗号和have = 1 编译没有错误,怎么理解这个?have是新定义的新变量?还是旧变量赋值? 这个逗号表达式,前面一个int j = 0,怎么理解?如果只是j = 0,那可以看成一个赋值表达式,其值等于右边的0,但前面多了一个int ,不影响吧?仍然算是一个赋值表达式吧? |
|
for的第一部分可以是变量声明也可以是表达式,在这个例子中是声明。
int直到分号前都有效。 |
|
随用随声明是C++语法。
|
|
这个事典型的c++生命语句。
|
|
那个int j=0,have=1;就是一个变量声明语句而已。这是c++的风格。标准C没有。
|
|
这表示什么?是定义int j,再改变已有变量have的值,而不是定义新变量have? |
|
int j=0,have=1;等于int j=0;int have=1;int j=0,have=1;这样写方便,是C++的基础语法
|
|
C99从C++引入的新特性
1.定义循环变量 2.作用域据域仅在for循环体 3.不算赋值表达式,算初始化 |
|
20分 |
不是,定义了j和have这两个变量,都是int型的,同时为他们赋了初始值。 |
#7 正解!
|