这里的输出应该是什么?

Ema*_*sen 2 c printf while-loop

在我看来,输出应该是EMAM5倍,但它打印EMAM6次.谁能解决这个问题?一点点解释会有所帮助.

#include <stdio.h>

int main()
{
    int n = 0;
    while(n < printf("EMAM\n"))
    {
        n++;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Bry*_*ton 7

由于n值为0,1,2,3,4和5,它会打印5次.当n为5时,它不会再次循环,但仍会打印出消息.