TCL 中带有两个变量的 For 循环

use*_*123 1 c tcl

我想将以下c代码转换为TCL。

int a[10],b[10];
int n=20

for (i=1,j=1; i<=n; i+=2,j++)
{
  b[j]=a[i];
}
Run Code Online (Sandbox Code Playgroud)

我需要将这个 for 循环更改为 TCL,我不想使用 TCL 中的 foreach 功能...TCL for 循环结构是否允许两个循环变量???

per*_*eal 5

你看到这里的讨论了吗:

  set n 6
  for {
              set  i     1
              set  j     1
          } {
              $i < $n
          } {
              incr i
              incr j
          } {
              puts "$i $j"
   }
Run Code Online (Sandbox Code Playgroud)

  • +1。您可以使用分号代替换行符以获得更紧凑的外观:`for {set i 1; 设置 j 1} {$i &lt; $n} {incr i; 增量 j} {...}` (4认同)