只能说留意陷阱,书上称之为“地雷”。C的语法无法排除这种错误,事实上这种陷阱也是C语言故意设计出来的,它追求高效,这种一气呵成的机制,是C程序员的挚爱,但确实是陷阱。我不赞成说这是错误,毕竟有的时候这样写是很方便的。写的时候谨慎吧,这是C程序员的代价,越是利器越容易伤着自己,这是辩证法,真理。
授人以渔,不授人以鱼。
#include <bits/stdc++.h> using namespace std; int main() { int a=0, b=1; while (10*a+b<36) { cout<<"[em"<<a<<b<<"]"; if (b<10) b++; else {a++; b=0;} } a=0; b=1; while (10*a+b<36) { cout<<"[tk"<<a<<b<<"]"; if (b<10) b++; else {a++; b=0;} } return 0; }