Я наткнулся на фрагмент кода, который использовал в нем заявление int k=(a++,++a)
. Я не понимаю, какой тип оператора это (a++,++a)
и как он будет оцениваться. Почему здесь используется скобка? Это вызов функции?Как будет оцениваться следующий код в C?
Вот код.
#include <stdio.h>
int main(void) {
int a=5;
int k=(a++,++a);
printf("%d\n",k);
return 0;
}
Выход, который я получаю, - 7 - почему это так?
Вы уверены, что код есть? int k = (a ++, ++ a); компилируется исходный код? –
да, и о/р приходит как '7' – a874
@LeonidasMenendez Я совершенно уверен, что написано правильно. Он использует запятую. – WhozCraig