演習1-21 K&R プログラミング言語C
2009年12月08日
演習1-21
n
回連続するスペースを単純にタブに変換するだけのものを作った。
#include <stdio.h> #define DEFAULT_TABSTOP 4 #define IS_BLANK 1 #define NOT_BLANK 0 void put_space(int len, char c); int main(int argc, char *argv[]) { int c, count, n, is_blank; n = DEFAULT_TABSTOP; is_blank = IS_BLANK; count = 0; while ((c = getchar()) != EOF) { if (c == ' ') { is_blank = IS_BLANK; if (++count == n) { putchar('\t'); count = 0; } } else { if (is_blank) { put_space(count, ' '); count = 0; } is_blank = NOT_BLANK; putchar(c); } } return 0; } void put_space(int len, char c) { int i; for (i = 0; i < len; ++i) { putchar(c); } }
プログラミング言語C 第2版 ANSI規格準拠
posted with amazlet at 09.11.27
B.W. カーニハン D.M. リッチー
共立出版
売り上げランキング: 9726
共立出版
売り上げランキング: 9726