Правильное использование подпрограммы в Commodore Basic 4.0?

У меня есть подпрограмма, которая заполняет массив с "."

В моей основной программе я пытаюсь вызвать эту подпрограмму, а затем распечатать массив; однако, это, кажется, не работает. Я думаю, что я неправильно вызываю подпрограмму?

Это мой код:

подпрограмма:

1070 dim a$(x,x)
1080 for aa = 0 to x
1090 for bb = 0 to x
2000 a$(x,x)="."
2010 next
2020 next

основной код:

10 input "please enter a number"; x
20 gosub 1070
30 for i = 1 to x
40 for j = 1 to x
50 print a$(i,j);
60 next
70 print
80 next

Ничего не происходит при запуске; но когда я запускаю все это в одной программе (без вызова gosub), это работает?

Любая помощь?

1 ответ

Решение

В строке № 2000, я полагаю, вы хотите a$(aa,bb)="."иначе вы просто забиваете то же место с инициализацией.

Кроме того, и, вероятно, более важным для вашего вопроса, каждый GOSUB нужен RETURN чтобы вернуться к основной линии исполнения. В вашем случае это, вероятно, линия 2030.

Другие вопросы по тегам