当我调用此功能时,它不会显示任何*。但当我改变==到<有用。为什么?
void starBox(int size){
for(int i = 0; i == size; i++){
for(int j = 0; j == size; j++){
cout << '*';
}
cout << endl;
}
}
答案 0 :(得分:1)
我认为你的问题是由于误解了for
循环中间条件的含义。这是一个循环 continuation 条件,这意味着循环需要它true
才能继续。 Loop的后置条件与其延续条件相反。
当我调用此函数时,它不会显示任何
*
。
这是因为循环延续条件为false
,除非size
为零,因此跳过循环体。
但是,当我将
==
更改为<
时,它可以正常工作。为什么呢?
因为循环连续条件变为true
,并且在循环结束之前保持true
。这就是<
有效的原因; !=
也可以。