Рубрики

Оператор запятой следует использовать осторожно

В C и C ++ запятая является последним оператором в таблице приоритетов . Таким образом, запятую следует осторожно использовать в правой части выражения присваивания. Например, можно ожидать, что выходной сигнал равен b = 10 в приведенной ниже программе. Но программа печатает b = 20, так как присваивание имеет более высокий приоритет над запятой, и выражение «b = 20, a» становится эквивалентным «(b = 20), a».

#include<stdio.h>

int main()

{

  int a = 10, b;

  b = 20, a;   // b = 20

  printf(" b = %d ", b);

  getchar();

  return 0;

}

Если поставить скобку с запятой, то b = a (или 10).

#include<stdio.h>

int main()

{

  int a = 10, b;

  b = (20, a); // b = a

  printf(" b = %d ", b);

  getchar();

  return 0;

}

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

Рекомендуемые посты:

Оператор запятой следует использовать осторожно

0.00 (0%) 0 votes