任何人都可以清除我的怀疑..为什么这个程序给出10作为输出。 你能解释一下机制吗... for循环也有;在陈述之前
#include <iostream>
using namespace std;
int main() {
int i ;
for ( i =0 ; i<10 ; i++);
{
cout<<i ;
}
return 0;
}
答案 0 :(得分:6)
for ( i =0 ; i<10 ; i++);
这是完整的循环,末尾的分号表示空体。因此,它只是将i
最终增加到10
。它10
(而不是9
)的原因是因为这是继续条件i < 10
变为假的时候。
这意味着这个小片段:
{
cout<<i ;
}
是一个曾经执行过的语句,输出i
的内容(循环在10
左侧)。
在这种情况下,大括号只是将语句放入一个封闭的范围内,它们根本不与循环相关。
所以,如果你想每次循环输出i
,只需删除分号,使大括号及其内容成为该循环的主体。
答案 1 :(得分:3)
ClientException in RequestException.php line 107:
Client error: `POST https://ssl.reddit.com/api/v1/access_token`
resulted in a `429 Too Many Requests` response:
{"error": 429}
考虑到循环已达到i = 9的点,因此,'i&lt; 10'的条件是真的。
因此,对于下一次迭代,'i ++'会将其增加到10
现在再次测试'i&lt;检查10'。此时'10&lt; 10'测试返回false,for循环中断,i的值为10。