Другие уже упоминали, что оператор запятой возвращает самое правое значение. Если вы хотите напечатать значение, если ЛЮБАЯ из этих переменных является истинной, используйте логическое или:
int main()
{
int a=10,b=20;
char x=1,y=0;
if(a || b || x || y)
{
printf("EXAM");
}
}
Но затем следует учитывать тот факт, что запятая вычисляет все выражения, тогда как оператор или останавливается, как только значение становится истинным. Так с
int a = 1;
int b;
if(a || b = 1) { ... }
b имеет неопределенное значение, тогда как с
int a = 1;
int b;
if(a, b = 1) { ... }
b будет установлен в 1.