Энциклопедия Turbo Pascal. Главы 9-11 Страница 37. Ошибки if/then/if/else
|
Страница 37 из 39
Ошибки if/then/if/else Даже очень опытные программисты могут допустить ошибку в конструкции if/then/if/else. Например, уверены ли вы, что следую- щий код работает правильно
if count<100 then if count>50 then F1 else F2;
Не шутите с соответствующим форматированием. Предложение else не ассоциируется с первым if, а только со вторым if. Помни- те, что else всегда ассоциируется с ближайшим if. В данном приме- ре вместо выполнения F2, когда count больше 100, Турбо Паскаль не делает ничего. Кроме того, F2 будет выполняться только, если count меньше 100 и - если меньше 50. Вы увидите это когда код правильно отформатирован:
if count<100 then if count>50 then F1 else F2;
Если вы хотите просто выполнить F2, когда count больше 100, вам надо было бы использовать конструкцию begin/end, как показано далее:
if count<100 then begin if count>50 then F1; end else F2;
|