switchで書いたら書き込めない行数になったからテーブル使ってみた

#include <stdio.h>

int code[]={'\n',' ','<','>','\t','"','&'};
char table[][32]={"\n","&nbsp;","&lt;","&gt;","&nbsp;&nbsp;","&quot;","&amp;"};

int main(int argc,char **argv){
  int i,c;
  int l=sizeof(code);
  
  while((c=getchar())!=EOF){
    for(i=0;i<l;i++){
      if(c==code[i]){
        fputs(table[i],stdout);
        break;
      }
    }
    if(i==l){
      putchar(c);
    }
  }
}