1-9的练习我看了习题解答之后,确实震惊了一下。书上的逻辑严谨而且很巧妙。
他的思路是
本次输入与上一次输入进行判断。如果本次输入是空格判断上一个输入是不是空格。
if(c != ‘ ’)如果输入字符的不是空格。
putchar(c);就输出这个字符。
if(c == ‘ ’)如果输入的字符是空格的情况下。
if(lastc != ‘ ’)如果上一个输入的字符不是空格。
putchar(c);就输出这个字符。反之如果上一个输入的是空格则不进行动作。
if—else是二者选一只进行一次动作,有时候if并列会造成上一个if动作后达成下一个if语句的判断条件从而进行动作。
习题解答的最后一个例子在我看来真是达到了艺术的水准。
if(c !=‘ ’ || lastc !=‘ ’)
putchar(c);
lastc = c;
逻辑或||上一条语句为假则执行下一条语句如果前一条语句为真则不执行下一条语句。简单来说就是选其一。
如果输入不是空格则满足第一条直接执行输出。
如果输入是空格,第一条判断为假则执行第二条。
如果上一个字符不是空格则输出。
如果上一个字符是空格则不动作。
1.5.3行计数
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...