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行计数
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。