Проблема с возвращаемым значением?
здесь я удивлен выводом, который он всегда дает 1 Может ли кто-нибудь объяснить, что return делает здесь и как и что он возвращает ?
Что я уже пробовал:
#include<stdio.h> int main() { int a=5,b; b=fun(a); printf("%d",b); } int fun(int a) { return a--&&a++; }
[no name]
Где же "проблема возвращаемого значения"? Это ты написал. Что он должен делать?
Richard MacCutchan
Вы начинаете с a=5, а затем выражение в вашем операторе return фактически утверждает return (somevalue && someothervalue)
, и поскольку оба они ненулевые, вы получаете значение 1, которое представляет логическое значение TRUE.
Ничего удивительного, кроме удивления, что кто-то мог написать такое выражение.