Re[4]: Что такое 'спагетти-код'?
От: Privalov  
Дата: 15.03.05 06:35
Оценка:
Здравствуйте, Eugeny__, Вы писали:


M>>>
P>>[...]

M>>>8310   CALL MSPEAK(6)
M>>>


P>>Если код MSPEAK выглядит так:


P>>
P>>     SUBROUTINE MSPEAK(I)
P>>     INTEGER I
P>>     ....
P>>     I = I + 1
P>>     ....
P>>     RETURN
P>>     END
P>>


P>>то это может кому-то доставить немало веселых минут...


E__>Ммм.. И что произойдет в этом случае? Не разбираюсь в фортране совершенно. С виду ничего такого страшного...


Здесь
Автор: Pavel Dvorkin
Дата: 22.02.05
Pavel Dvorkin сказал о порче константы.
Это означает следующее.

В Фортране параметры передаются по ссылке. При этом константность никак не проверяется. Поэтому после вызова подпрограммы, увеличивающей значение I, во всей программе, где написана константа 6, фактически будет использована константа 7.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.