顾冠群一幅字多少钱:一个简单C例题,请解答。 送分~~ 10分钟处理答案

来源:百度文库 编辑:神马品牌网 时间:2024/05/06 12:53:53
练习1-20
编写程序detab,将输入中的制表符替换成适当树木的空白符(使空白充满到下一制表符停止位)。
假定指标符停止位的位置是固定的,比如在每个N列的位置上。N应该为变量或者符号参数吗?

#include <stdio.h>

#define TABEND 8

/* 删除输入TAB,用空格代替 */

main()
{
int pos;
int c;
int ns;
pos = 1; // input pos
while ((c = getchar()) != EOF) {
if ('\t' == c) {
ns = TABEND - ((pos -1) % TABEND); //space count
for (; ns > 0; ns--)
putchar(' ');
pos += (ns - 1); //pos the tabend.
}
else if ('\n' == c) {
pos = 1;
putchar(c);
}
else {
pos++; //other char , pos++ and output
putchar(c);
}
}
}