Рубрики

Результат оператора запятой как l-значение в C и C ++

Использование результата оператора запятой в качестве l-значения недопустимо в C. Но в C ++ результат оператора запятой можно использовать в качестве l-значения, если правым операндом оператора запятой является l-значение.

Например, если мы компилируем следующую программу как программу на C ++, она работает и печатает b = 30. И если мы компилируем ту же программу, что и программа на C, то она выдает предупреждение / ошибку при компиляции (предупреждение в Dev C ++ и ошибка в Кодовые блоки).

#include<stdio.h>

  

int main()

{

  int a = 10, b = 20;

  (a, b) = 30; // Поскольку b является l-значением, этот оператор действителен в C ++, но не в C.

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

  getchar();

  return 0;

}

Выход C ++:
б = 30

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

Результат оператора запятой как l-значение в C и C ++

0.00 (0%) 0 votes