C++ 代码没有做我想做的事
C++ code not doing what I want
当我调用这个函数时它没有显示任何*。但是当我将 == 更改为 < 时它起作用了。为什么?
void starBox(int size){
for(int i = 0; i == size; i++){
for(int j = 0; j == size; j++){
cout << '*';
}
cout << endl;
}
}
我认为您的问题是由于误解了 for
循环中间条件的含义。这是一个循环 continuation 条件,意味着循环需要 true
才能继续。循环的 post-条件与其延续条件相反。
When I call this function it doesn't display any *
.
这是因为循环继续条件是false
除非size
为零,所以循环体被跳过。
But when I change ==
to <
it works. Why?
因为循环继续条件变为true
,并保持true
直到循环结束。这就是 <
起作用的原因; !=
也可以。
当我调用这个函数时它没有显示任何*。但是当我将 == 更改为 < 时它起作用了。为什么?
void starBox(int size){
for(int i = 0; i == size; i++){
for(int j = 0; j == size; j++){
cout << '*';
}
cout << endl;
}
}
我认为您的问题是由于误解了 for
循环中间条件的含义。这是一个循环 continuation 条件,意味着循环需要 true
才能继续。循环的 post-条件与其延续条件相反。
When I call this function it doesn't display any
*
.
这是因为循环继续条件是false
除非size
为零,所以循环体被跳过。
But when I change
==
to<
it works. Why?
因为循环继续条件变为true
,并保持true
直到循环结束。这就是 <
起作用的原因; !=
也可以。