第四章循环结构pta练习

写出以下程序段的运行结果。请注意,中间和前后都不要加空格。
}


for ( int i = 14; i > 1; i /=3 ) {
      printf("%d#", i);
}

为什么输出的不是14#4#1#
而是14#4#

  • 首先 i = 14 ,满足 i > 1, 输出 14#; i = 14 / 3 = 4 ; 继续循环
  • i = 4 , 满足 i > 1, 输出 1#; i = 4 / 3 = 1; 下个循环不满足条件,退出
  • 最后输出 14#4#

如有帮助,欢迎点赞+采纳哈!

当运行到4#的时候,此时i=i/3=4/3=1 不满足i>1的条件,所以就不会打印后面的1#了

该回答引用ChatGPT

原因是当 i 的值变为 1 时,不再满足循环条件 i > 1,因此循环终止。在循环中使用 printf 函数输出 i 的值和一个 # 符号,每个值和符号之间没有空格。因此,当 i 的值为 14 和 4 时,分别输出 14# 和 4#。当 i 的值变为 1 时,循环终止,因此最后一个 # 符号没有被输出。