下方是我的c语言代码,为何下方程序的运行需要等好长时间才能打印出第一个字符。。。。何解?

 #include<unistd.h>
#include<stdio.h>
#include<sys/mman.h>
#include<fcntl.h>
#include<stdlib.h>

typedef struct{
  int integer;
  char string[24];
} RECORD;

#define NRECORDS (10)

RECORD record,*mmaped;

void write_mmap_area(){
  printf("oh my god ....");
  int fd = open("records.dat",O_RDWR);
  mmaped = (RECORD*)mmap(0,NRECORDS*sizeof(record),PROT_READ|PROT_WRITE,MAP_SHARED,fd,0);
  int i = 0;
  for(;i<10;i++){
    int j = 0;
    printf("此次准备");
    for(;j<10;j++){
      printf("%d秒后,将开始修改数据...",10-j);
      sleep(1);
    }
    sprintf(mmaped[i].string,"modify : %d ",i);
     printf("此次结束");
  }
}

int main(){
  printf("I am ready!!!");
  write_mmap_area();
  printf("END");
  return 0;
}












用clock()函数来测试下看看哪段代码运行时间长

已经解决,看楼上。出现的问题是,我忘记在printf输出中加入\n了,因为printf是缓冲池满了才输出,
为了让它立刻输出,需要加上\n,读到换行符时就会立刻输出。谢谢你哈。