将 C while 循环翻译成 Pascal

translating a C while loop to Pascal

我正在翻译一个 C 程序并有以下循环:

while (octaves--) {
  /* do stuff */
}

应该是:

while (octaves > 0) do
  begin
    // do stuff
    dec(octaves);
  end;

或者应该在循环内容之前递减?

提前致谢。 :)

这是 c 代码的最小示例

#include <stdio.h>

int main(){
  int i = 3;
  while(i--){
      printf("%x,\n",i);
  }
  return 0;
}

这会打印

2,
1,
0,

同样的程序可以写成

int main(){
  int i = 3;
  while(i){
      i--;
      printf("%x,\n",i);
  }
  return 0;
}

产生相同的输出。此代码现在可以直接翻译成 pascal。

while (i > 0) do
  begin
    dec(i);
    // do stuff
    writeln(i);
  end;