char *c, data[200];
c = fgets(data, 200, stdin);
if(c != NULL && data[0] != '\n')

というのを、
char data[200];
if((fgets(data, 200, stdin) != NULL) && data[0] != '\n')
と書いても大丈夫でしょうか。