【问题标题】:How does this function work the other way? [closed]这个功能如何以另一种方式工作? [关闭]
【发布时间】:2021-11-07 20:02:42
【问题描述】:

显然,如果我们写成'x

int n;
do
{
    n = get_int("width");
}
while (n < 10);


for (int i = 0; i < n; i++)
{
    printf("?");
}
printf("\n");

如果我们想打印 '?'与用户输入的数字相同,它只会在数字大于 10 时打印,而不应打印。因为 n 不小于 10...循环不应该运行。

那怎么可能呢?

【问题讨论】:

  • 这里真的不太清楚你的意思。第一个 (while) 循环将一直运行,直到用户输入一个大于或等于 10 的数字;只要i 小于给定的n,第二个(for) 循环就会运行——它将以i = 0 开始,每次递增i
  • 您是否打算将for 循环置于 while 循环中? (作为向用户表明输入不可接受的一种方式。)
  • 我投票结束这个问题,因为它似乎基本上是关于基本逻辑或推理的问题,而不是关于代码本身的问题。

标签: c function for-loop while-loop do-loops


【解决方案1】:

While continue 循环直到 n 小于 10。只有当 n 大于或等于 10 时,您的程序才会退出 while 循环并打印。

【讨论】:

  • while 循环继续while n 小于 10,而不是 直到 n 小于 10。
【解决方案2】:

...它只会在数字大于 10 时打印,而它不应该。

为什么不应该呢?第一个循环从用户那里得到一个int,如果用户输入一个小于10的值,它会继续要求用户输入一个新的输入,如果用户输入一个大于或等于10的值while 循环将结束,n 将有输入值,然后执行 for 循环,如果 n 是,例如,15,它将运行 15 次并因此打印 @987654329 @ 15 次。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多