C 프로그래밍 언어 연습문제 1-23

2908 단어
C 언어 프로그램의 모든 주석문을 삭제하는 연습을 1-23번 합니다.따옴표가 있는 문자열과 문자 상수를 정확하게 처리하십시오.C 언어에서는 주석을 중첩할 수 없습니다.
코드는 다음과 같습니다.
#include <stdio.h>    //

#define MAXLINE 1000        //            1000 。

#define BR 10    //

int getline(char line[], int maxline);

int main()    //        main   ,       。
{
    int len;
    int i, b;
    char line[MAXLINE];
    char pl[MAXLINE] = "";

    while ((len = getline(line, MAXLINE)) > 0) 
    {
        for (i = 0, b = 0;i < len; i++)
        {
            //            ,    。
            if (b == 1 && (line[i] == '*' || line[i] == '/'))
            {
                pl[0] = '\0';
                break;
            }
            if (line[i] == '/') 
            { 
                b = 1; 
            }
            pl[i] = line[i];
        }
        if (pl[0] != '\0') printf("%s", pl);
    }

    getchar();    //             ,               。
    return 0;    //               ,0      。
}

int getline(char s[], int lim)
{
    int c, i;

    for (i = 0;i<MAXLINE - 1 && (c = getchar()) != EOF && c != '
'; ++i) s[i] = c; if (c == '
') { s[i] = c; ++i; } s[i] = '\0'; return i; }

좋은 웹페이지 즐겨찾기