НЕ функционально эквивалентны.
Единственный способ, который был бы функционально эквивалентен, - это если вы сделали оператор «if» для каждого возможного значения a (то есть: каждый возможный значение int, как определено в limits.h в C, используя INT_MIN и INT_MAX, или эквивалент в Java).
Оператор else позволяет вам покрывать все возможные оставшиеся значения без необходимости писать миллионы «if» -записей.
Кроме того, лучше использовать практику кодирования, если ... else if ... else, как и в случае с оператором switch / case, ваш компилятор будет называть вас предупреждением, если вы не предоставите «значение по умолчанию» «case case. Это не позволяет вам игнорировать недопустимые значения в вашей программе. например:
double square_root(double x) {
if(x > 0.0f) {
return sqrt(x);
} else if(x == 0.0f) {
return x;
} else {
printf("INVALID VALUE: x must be greater than zero");
return 0.0f;
}
}
Вы хотите набирать миллионы операторов if для каждого возможного значения x в этом случае? Сомневаюсь:)
Приветствия!
После открытия файла дампа нажмите File, выберите Путь Файла символов или (Ctrl+S). Это открытое поле показывает путь по умолчанию, установленный средой переменная _NT_SYMBOL_PATH
. В моем случае это показывает:
SRV*C:\symcache*http://msdl.microsoft.com/download/symbols
ld*