이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
정재훈
가입: 2016년 4월 3일 올린 글: 6
|
올려짐: 2017년11월17일 3:18 주제: k-- CALLR 관련 질문 |
|
|
let proc f(n) = n := n + 3 in
let n := 2 in
let m := n * 2 in
for m := 0 to n do
for n := 0 to m do
write (f<n>)
다음 K-- 코드에서 m=0 n=0의 첫 루프에서 f<n>을 실행하면 n이 3이되어 바로 루프를 빠져나가는 것으로 생각했는데 실제로 돌려보니 그렇지 않더군요...
어디에서 잘못 이해한건지 알고 싶습니다. |
|
위로 |
|
|
로파스 Site Admin
가입: 2012년 9월 9일 올린 글: 280
|
올려짐: 2017년11월17일 12:05 주제: |
|
|
k-- 언어의 for문 시맨틱스를 보시면,
C언어에서 일반적으로 쓰이는 for문보다 훨씬 간단한 형태입니다.
e1과 e2를 계산해 n1, n2를 계산하고 그 차이 횟수만큼 e3를 실행하는 형태죠.
e3를 실행할때마다 e1과 e2를 다시 계산하지 않기 때문에 그렇습니다.
-조교 드림. |
|
위로 |
|
|
|