Private Sub Form_click()h = 65a = ""vtime = 1For i = 1 To 26 For j = 1 To vtime a = a + Chr(h) Next a = a + vbCrLf vtime = vtime + 2 h = h + 1NextMsgBox aEnd Subwhile((*n)--)后面的分号,将while和printf分成两个逻辑块了。你理解的没错,这个分号就是表明它后面的子语句是空的,这样它一直运行到n=0时终止循环。然后printf只输出循环结束后的n值,自然就是0;去掉这个分号,就会输出100~0了。for(i=1;I{for(j=1 ;j<=i ;j++) printf("%c",(96+i)); printf("\n\r"); }