해당 진술을 사용하는 목적에서만 진술 자체에 특별한 차이가 없습니다.
입력 매개 변수가 사양에 유효한지 (예 : 색인이 음수가 아니고 배열 범위 내에 있음) 조건을 추가하면 강사가 솔루션을 수락 할 것이라고 말합니다. 반면에 조건문을 사용하여 함수 출력을 계산하면 강사는 솔루션을 수용 할 수 있다고 생각하지 않습니다.
C는 매개 변수의 유효성을 확인하는 다른 방법, 즉 assert
기능을 제공합니다. 이 명시 적으로 if
없지만, 프로그램이 조건을 위반하는 경우 휴식 것이 : 당신의 프로그램이 허용 될 경우
void setArrayElementSafe(int *array, size_t size, size_t index, int newValue) {
assert(index < size); // End the program if index is outside bounds
array[index] = newValue;
}
쉬운 시험보고 여부를하면 assert
과 함께 모든 if
의를 대체 할 수 있는지 확인하는 것입니다 (실제로 코드를 작성하지 않고 코드를 작성하여 가능한지 확인하십시오).
그렇다면 if (function (x, y)> 10) 등 ...은 용납 될 수없는 것입니까? 같은 if (result> 10) 등 반대? – Karen
@ 카렌 자세한 내용을 모르겠지만 (if (result> 10)을 확인하는 목적이 오류를보고하는 것이 아닌 한)이 둘 모두가 유효하지 않은 것처럼 보입니다. – dasblinkenlight