这个函数如何以另一种方式工作?

How does this function work the other way?

显然,如果我们写成'x < 10',那么x就小于10。但是,这里不是这样

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


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

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

那怎么可能呢?

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

...it will only print when numbers are larger than 10 while it shouldn't.

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