int foo(int c){
return c;
}
int main(void){
int a=5,c;
c = foo(--a) + a;
}
Ще извика ли недефинирано поведение в C/C++? Мисля, че няма да стане.
След като прочетох всички отговори, не мога да разбера дали това е недефинирано поведение или неопределено поведение.
comp.lang.c++.moderated
иcomp.std.c++
в Usenet), но не са много и дори те понякога не са съгласни по тънки ъглови случаи. Още по-важното е, че (някои) компилатори също може да не са съгласни с тях. Ако кодът не е достатъчно ясен, че с един поглед към него програмист с разумен опит може да каже Да! или Не!, опростете го и готово. - person sbi   schedule 22.03.2011