Date Редакция Категория Comp Теги C / Cpp

В C и C++ оператор ',' (запятая) является бинарным оператором, который оценивает первый операнд и отбрасывает результат, а затем оценивает второй операнд и возвращает это значение (и тип). Как оператор, ',' обладает самым низким приоритетом.

Использование запятой в качестве оператора следует отличать от ее использования в качестве разделителя. Последнее имеет место при определении и вызове функций, описании переменных, перечислений и других похожих конструкций.

i = (a, b);             // сохраняет значение b в i 
i = a, b;               // сохраняет значение a в i. Эквивалентно: (i = a), b;

В следующем примере (имеющем исключительно экзаменационный смысл) легко спутать скобки вокруг операндов ',' со скобками блока условий if:

int main()
{
  int i;
  i=0;
  if (i=15,10,5)
    printf("Programing %d",i);
  else
    printf("Skills %d",i);
}


Комментарии

comments powered by Disqus