评论(/*...*/)超过一行

时间:2016-01-16 09:50:37

标签: c filesystems comments

我应该在文件中计算/*...*/个评论,我想知道这个code是对的还是我错过了什么?

我的代码

void commentsLongerThanOneLine(FILE* inputStream, FILE* outputStream) {
int count = 0, c, state = 1;

    while ((c = fgetc(inputStream) != EOF)) {
        switch (state) {
            case 1: switch (c) {
                case '/': state = 2; break;
            }
            break;

            case 2: switch (c) {
                case '/': state = 3; break;
                case '*': state = 4; break;
                default: state = 1;
            }
            break;
            case 3: switch (c) {
                case '\n': state = 1; break;
                default: state = 4; count++;
            }
            break;
            case 4:switch (c) {
                case'*': if (c == '\n') count++; break;
                default:  state = 4; if (c == '\n') count++;
            }
        }
    }
    fprintf(outputStream, "Comments longer than one line: %d\n", count);
}

0 个答案:

没有答案