Это будет звучать нечувствительно, возможно, даже грубо, но ...
Здесь применяется стандартный ответ № 1 - если вы поняли проблему, вы не обратились бы за помощью.Если вам нужны какие-либо шансы на получение достойной помощи, вам нужно показать реальную проблему, а не свою интерпретацию того, что, по вашему мнению, является проблемой.Мы не можем отлаживать код, глядя на что-то, что не является кодом для отладки или, возможно, даже источником проблемы.
Итак, покажите код!
- объявления имеют значениемного
- как вы его компилируете, какие опции включены?
- выход за границы массива - это то, что компилятор должен ловить во время компиляции
- это запись оператора, записываемая на экран или вкакой-то другой блок (файл);есть ли вероятность, что что-то будет прочитано позже?
- это может быть проблема с сохранением и инициализированными значениями?(просто угадаю здесь)
Вы сказали, что программа "зависает".Вы пытались определить, в какой части кода он висит?(бесконечный цикл), или он только что вошел в какой-то длинный цикл?
Я несколько раз видел ошибку «комментирование оператора печати» (последний раз на самом деле совсем недавно), и при выделении незначительных битов всегда оказывалось что-то, что должно былобыло очевидно в начале.Итак, просто потихоньку ... попробуйте для начала, выбрав те части программы, которые не приводят к исчезновению ошибки, и работайте оттуда.
Там действительно ничего нетбольше, что можно сказать из предоставленной информации, извините.
Редактировать: @ bambeck - у меня нет g77 (и powerMac),поэтому я не могу дать вам точные инструкции (следовательно, неопределенность с моей стороны), но для начала попробуйте включить диагностические переключатели компилятора (g77 /? или g77 / help или что-то подобное, должно дать вам их список).Включите его, чтобы показать все предупреждения (это должно быть что-то в этом роде), проверку границ массива во время компиляции и т. Д. Если это приводит к чему-то интересному , опубликуйте его.
Нет ничего per se неправильно с оператором записи, который вы показали, насколько это касается.
Также я не знаю, является ли цикл действительно бесконечным, но он идетболее получаса.Немного о сохранении выглядит многообещающе, хотя ... Разработано?
О, просто кое-что, что пришло в голову.Я не уверен, что Стандарт говорит об этом, поэтому я только упомянул об этом на стороне.Иногда, когда массив не инициализируется должным образом (до некоторого значения), некоторые компиляторы устанавливают его на нулевое значение, а некоторые просто выбирают что-то случайное из памяти в том месте, где хранится его содержимое.Однажды у нас была проблема с чем-то похожим, и это дало нам странные результаты, поэтому я вспомнил об этом.Не говорю, что у тебя такая же проблема.В этих случаях оператор SAVE может привести к некоторому странному поведению.
Ваши результаты (когда программа "работает") когда-либо различались при разных запусках (с одинаковыми входными данными)?