以下程序来源《程序员面试宝典》第三版,对它进行简单的修改,更完全的理解: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; }