Просто напишите функцию, подобную следующей
#include <string.h>
//...
int is_separatison( char c )
{
const char *s = "n\t ,.;:!?";
return c != '\0' && strchr( s, c ) != NULL;
}
То же выражение, которое вы можете использовать в операторе if. Только вы можете удалить сравнение с нулевым символом, если вы знаете, что проверенный символ не является нулевым символом.
const char *s = "n\t ,.;:!?";
if ( strchr( s, c ) != NULL )
{
// do something
}
Что касается показанного вами оператора if, то оно должно быть переписано как
if ( a == '\n' || a == '\t' || a == ' ' || a == ',' ||
a == '.' || a ==';' || a == ':' || a == '!' || a == '?' ) {