以下程序来源《程序员面试宝典》第三版,对它进行简单的修改,更完全的理解:for循环的判断认为是一个表达式,任何一个不成立,就不会执行。形象理解i++与++i的区别。
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
int a, x;
for (a=0,x=0; a<=1 && !x++; a++)
{
a++;
}
cout<<a<<" "<<x<<endl;
for (a=0,x=0; a<=0 && !x++;)
{
a++;
}
cout<<a<<" "<<x<<endl;
for (a=0,x=0; a<=1 && !x++;)
{
a++;
}
cout<<a<<" "<<x<<endl;
for (a=0,x=0; a<=0 && !x++;)
{
a++;
}
cout<<a<<" "<<x<<endl;
return 1;
}