Strange outputting order



Hi,

Here is a piece of source code :

printf("\n\t... Message ")
// [...]
printf("\n\nShared Memory...\n"
"\t ... segment shmid ");

if ((shmid=shmget(MemBase,0,0)) == -1)
{
perror(NULL);
exit(3);
}

And Strace output :

write(1, "\t... Message \n"..., 53 ... Message

Shared Memory...
) = 53
shmget(2073102904, 0, 0) = -1 ENOENT (No such file or
directory)
dup(2) = 3
fcntl64(3, F_GETFL) = 0x8001 (flags
O_WRONLY|O_LARGEFILE)
close(3) = 0
write(2, "No such file or directory\n", 26No such file or directory
) = 26
write(1, "\t ... segment shmid ", 20) = 20

I don't understand why shmget() is executed before the printing of
"\t... segment shmid". Is this because of tabulation character ? I hope
have been comprehensible...

.