이 코드 조각을 찾았는데 어떻게 작동하는지 알기 위해 노력하고 있지만 return 문 다음 부분을 이해하지 못합니다. 누군가가 이것을 설명 할 수 있습니까?어떻게 반환합니까?
int f(int y)
{
return (y<=1)?1:y*f(y-1);
}
이 코드 조각을 찾았는데 어떻게 작동하는지 알기 위해 노력하고 있지만 return 문 다음 부분을 이해하지 못합니다. 누군가가 이것을 설명 할 수 있습니까?어떻게 반환합니까?
int f(int y)
{
return (y<=1)?1:y*f(y-1);
}
이 :
int f(int y)
{
return (y<=1) ? 1 : y*f(y-1);
}
이 동일합니다 : 그것은 The ternary (conditional) operator in C을 사용하는 재귀 함수의 것으로, 지금 당신에게 명확해야
int f(int y)
{
if(y <= 1)
{
return 1;
} else
{
return y*f(y-1);
}
}
.
조건 :
터너 연산자의 일반적 형태를 갖는다? A : 다른
condition
이 진정한로 평가되면, 다음a
이 실행됩니다
, b
나.
'(조건)'주위의 중괄호를 제거하십시오. 그것들은 구문의 일부가 아닙니다. –
감사합니다 @PaulOgilvie, 그것은 솔직하다고 느끼지 않았다! :) – gsamaras
또한 (지금 보시오) :';'를 제거하십시오. (';'는 명령문 종결 자이며 표현식을 명령문으로 변환하지만 이는 단지 표현식이므로 _no_';') –
조건부 또는 삼항 연산자에 대해 읽습니다. –
이것은 재귀 함수입니다. –
피보나치 또는 무엇인가? –