演習1-23 K&R プログラミング言語C
2009年12月10日
演習1-23
文字を先読みしてコメントのチェックを行っている。
コメントと二重引用符の範囲判定部分が汚い・・・
#include <stdio.h> #define TRUE 1 #define FALSE 0 int main(int argc, char *argv[]) { int c, d, is_comment, is_dquote; is_comment = is_dquote = FALSE; c = getchar(); while (c != EOF) { d = getchar(); if (!is_dquote && !is_comment && c == '/' && d == '*') { is_comment = TRUE; } else if (!is_dquote && is_comment && c == '*' && d == '/') { d = getchar(); is_comment = FALSE; } else if (!is_comment && !is_dquote && c == '"') { putchar(c); is_dquote = TRUE; } else if (!is_comment && is_dquote && c == '"') { putchar(c); is_dquote = FALSE; } else if (!is_comment) { putchar(c); } c = d; } return 0; }
プログラミング言語C 第2版 ANSI規格準拠
posted with amazlet at 09.11.27
B.W. カーニハン D.M. リッチー
共立出版
売り上げランキング: 9726
共立出版
売り上げランキング: 9726