只能说留意陷阱,书上称之为“地雷”。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;
}







[em010]








[em110]








[em210]













[tk010]








[tk110]








[tk210]



