首页 > 代码库 > 《C程序设计语言》读书笔记----习题1-20
《C程序设计语言》读书笔记----习题1-20
练习1-20:编写程序detab,将输入中的制表符替换成适当数目的空格,使得空格充满到下一个制表符终止位的地方,。假设制表符终止位的位置时固定的,比如每隔n列就会出现一个终止位。
这里要理解“制表符”和“制表符终止位”。“制表符”的作用是使得光标移动到下一个“制表符终止位”上。举个例子,假设制表符终止位是4、8、12、16......已经已经输入了10个字符,然后按一下Tab键,那么光标会移动到位置12上,同学们新建一个文本文档试一下就了解了。
代码如下:
1 #include<stdio.h> 2 3 #define TABSTOP 8 //在Console中,制表符终止位一般是8,16,24,32...... 4 5 int main() 6 { 7 int total = 0; //这一行总共输出了多少个字符 8 char c; //当前读到的字符 9 while( (c = getchar()) != EOF)10 {11 if( c == ‘\t‘) //如果读到的字符是制表符12 {13 int temp = total / TABSTOP; //计算输出的字符到目前为止占据了多少个TABSTOP14 int nextLocation = (++temp) * TABSTOP; //下一个制表符终止位15 int numOfSpace = nextLocation - total; //要输出多少个空格16 for(int i= 1;i<=numOfSpace;++i)17 {18 putchar(‘ ‘);19 ++total;20 }21 }22 else if( c == ‘\n‘)23 {24 putchar(c);25 total = 0;26 }27 else28 {29 putchar(c);30 ++total;31 }32 }33 }
《C程序设计语言》读书笔记----习题1-20
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。