【发布时间】:2021-03-12 13:00:33
【问题描述】:
我试图了解这个程序的输出。 如果我尝试“翻译”代码,我相信它应该是这样的:
- 当“j”小于 3 - 打印“Ha”(此循环执行 3 次,因此它给出 3 个“Ha”)
- do/while -> j 等于 j - 2 因此打印“Hi” 而 ++j - 最后程序打印出“Hi” 4 次。
程序如何打印4次,这里的条件是如何工作的?
#include <stdio.h>
int main() {
int j = 0;
while(j++ < 3){
printf( "Ha ");
}
do{
j -= 2;
printf( "Hi ");
}
while(++j);
for(j = 1; j <= 3; j++){
printf( "Ho ");
}
printf("\n");
return 0;
}
输出是:
哈哈哈哈嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨
【问题讨论】:
-
尝试使用调试器逐条执行代码,同时监控变量及其值。那应该告诉你答案。您还可以使用笔和纸“单步执行”代码,每次更改时将所有变量的所有值写在新行上。
标签: c loops do-while post-increment pre-increment