lolamontes69

K+R Exercise1_21

Sep 5th, 2014
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.66 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. #define TABSTOP 8
  4.  
  5. int main()
  6. {
  7.     int c, sc, pos;
  8.  
  9.     sc = pos = 0;
  10.     while((c=getchar())!=EOF) {
  11.         ++pos;
  12.         if(c==' ') {
  13.             ++sc;
  14.             if(pos-1%TABSTOP==0) {      // last space b4 tabstop
  15.                 printf("\t");
  16.                 sc=0;
  17.                 pos=TABSTOP;
  18.             }
  19.         }
  20.         else if(sc!=0) {
  21.             for( ; sc>0; --sc)
  22.                 putchar(' ');
  23.                 ++pos;
  24.             putchar(c);
  25.         }
  26.         else if(c=='\t') {
  27.             sc=0;
  28.             pos=TABSTOP;
  29.             putchar(c);
  30.         }
  31.         else putchar(c);
  32.     }
  33.     return(0);
  34. }
Advertisement
Add Comment
Please, Sign In to add comment