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

Опубликовано: 1 Января, 2022

В 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;
}

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

Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .
C++