开发者

Why would C get stuck halfway through a while loop?

开发者 https://www.devze.com 2023-02-13 07:52 出处:网络
When I compile and run this code (it\'s part of a much larger program), Linux gets halfway through the while loop, then simply stops working.

When I compile and run this code (it's part of a much larger program), Linux gets halfway through the while loop, then simply stops working.

Th开发者_运维百科e code below prints time: 0 and then hangs, doing nothing else until I suspend the process. Why on earth would it print time: 0 but not the following line of sanity check?

while (i < 5)
{
    printf("time: %d\n",elapsedTime);
    printf("sanity check");
    foo();
    i++;
}


Output usually is buffered and only written after a flush or newline. In

printf("sanity check");

there is no newline, so if you run in an endless loop after this, you won't see it. Replace it with

printf("sanity check\n");

or

printf("sanity check");
fflush(stdout);

and you'll see it.

0

精彩评论

暂无评论...
验证码 换一张
取 消