Со ссылкой на разделенные запятыми возвращаемые аргументы в функции C [duplicate] ,
x=x+2,x+1;
будет оцениваться как
x=x+2;
Однако, в случае следующего кода
#include<stdlib.h>
#include<stdio.h>
int fun(int x)
{
return (x=x+2,x+1); //[A]
}
int main()
{
int x=5;
x=fun(x);
printf("%d",x); // Output is 8
}
Не должно быть строки [A], должно оцениваться как
x=x+2;
давая x = 7