본문 바로가기
C 언어

C언어로 만든 코드 들여쓰기 프로그램

by treeCoder 2021. 9. 1.

C언어로 만든 코드 들여쓰기 프로그램이다.

 

#include <stdio.h>

int main(void) {

    int c;
    int indented_already = 0;
    int indent = 0;
    int quote = 0;

    while( ( c = getchar()) != EOF ) {

         if( ( c ==' ' || c == '\t' ) && indented_already == 0)
            continue;

         if( c == '}' ) {
              if( quote != 1 ) indent--;
         }

         if( ( c!= ' ' && c!= '\t' ) && indented_already == 0 ) {
              for(int i = 0; i < indent; i++ ) {
                 printf("    "); 
              }
         }

         putchar(c);
         indented_already = 1;

         if( c == '"' ) {
             quote = 1 - quote;
         }
         else
         if( c == '{' ) {
              if( quote != 1 ) indent++;
         }
         else 
         if( c == '\n' ) {
              indented_already = 0;
         }
    }
    return 0;
}

댓글