const string плюс логическое значение для множественного числа в C

Я удивлен, что строка плюс логическое значение имеют аналогичный эффект тройной операции:

int apple = 2;                                                                      
printf("apple%s\n", "s" + (apple <= 1));

Если apple <= 1, будет напечатано яблоко. Почему это работает?

6
задан Shahbaz 1 July 2012 в 00:52
поделиться