合璧,显得更清晰。这就像篱笆,你可以两个捆一起,还可以三个、四个……最后连起来就可以了,分开写可能有时候会显得更加清晰、有条理,挤一块当然也可以,注意分隔,没人规定篱笆不能是一长条弯起来吧。
1 /******Third Version***********************/
2 #define DOUBLELINE '\\'
3 int c;
4 while((c = getchar()) != EOF)
5 {
6 switch(c)
7 {
8 case DOUBLELINE:
9 putchar(DOUBLELINE);
10 putchar(DOUBLELINE);
11 break;
12 case '\t':
13 putchar(DOUBLELINE);
14 putchar('t');
15 break;
16 case '\b':
17 putchar(DOUBLELINE);
18 putchar('b');
19 break;
20 default:
21 putchar(c);
22 break;
23 }
24 }
switch-case显得更为清晰而有条理,但是好多时候不及if有效。其实,好多时候,一种语言提供了多种方式来表达同样的意思,只不过要看场合和自己的兴趣了,不要太拘束,怎样顺怎么来表达,做到简洁清晰就行了。
prints its input one word per line
1 int c;
2 int inspace;
3 inspace = 0;
4 while((c = getchar()) != EOF)
5 {
6 if(c == ' ' || c == '\t' || c == '\n')
7 {
8 if(inspace == 0)
9 {
10 inspace = 1;
11 putchar('\n');
12 }
13 }
14 else
15 {
16 inspace = 0;
17 putchar(c);
18 }
19 }
inspace在上面的作用已经很明显,和上面的done一样,作为控制作用,有点相当于开关。毕竟程序语言借自然的智慧诞生于人类的头脑,其结果也必然是来源于现实社会,又反映现实社会。
好多语言发展到现在都遇到了瓶颈,而且好多都是在炒剩饭,然后换件外衣,新瓶装老酒而已。其实也没有哪种语言可以一统程序界江湖,不必有宗教情节,期待简洁清晰方便的语言出现。