这个for循环会无限运行吗?

Roh*_*uja 3 c for-loop scanf

我有一些c编程的经验,但有时一些书的作者只是提出了一些奇怪的语法问题,我们永远不会在实际编程中使用它,类似于我坚持一个这样的问题虽然给出了答案,但我不能理解答案.这是下面的代码

int main
{
int i;
for(;scanf("%d",&i);printf("%d",i)){
     ;
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是这个for循环运行多少次,给出的答案是无限的任何人都可以解释循环将如何执行

Gop*_*opi 6

scanf 返回成功读取的元素数,在这种情况下,如果它读取整数并继续打印,则它将为1.

假设你在这里传递一个角色然后scanf()失败并退出for循环