当前位置: 代码迷 >> C语言 >> LINUX上C语言连续的三个printf ,最后一个不执行,程序卡在那里,按ctrl+c继续执行
  详细解决方案

LINUX上C语言连续的三个printf ,最后一个不执行,程序卡在那里,按ctrl+c继续执行

热度:2772   发布时间:2013-02-26 00:00:00.0
LINUX下C语言连续的三个printf ,最后一个不执行,程序卡在那里,按ctrl+c继续执行。
 if(0==strcmp(chTmpBrnoFlag,"50000"))
   {
      memcpy(chTmpBrnoFlag_1,"%",1);
   }
   else
   {
     memcpy(chTmpBrnoFlag_1,chTmpBrnoFlag,sizeof(chTmpBrnoFlag_1)-1);
   }

   printf("\n日期tmpsysyear ===== [%s]\n",tmpsysyear);
   printf("\n日期chTmpSYS_DATE ===== [%s]\n",chTmpSYS_DATE);
   
   printf("hello world");
   
     for(iRollNum=0;iRollNum<Xm_NUM;iRollNum++)
     {
       dAccValue[iRollNum]=0.0;   
       dAccValueb[iRollNum]=0.0;
       dAccValuec[iRollNum]=0.0;  
       dAccValued[iRollNum]=0.0;  
       dAccValuee[iRollNum]=0.0;  
       dAccValuef[iRollNum]=0.0;
       dAccValueg[iRollNum]=0.0;  
       dAccValueh[iRollNum]=0.0;
       
       
     }   

------解决方案--------------------------------------------------------
要加\n或刷新缓冲区
------解决方案--------------------------------------------------------
在每个printf后加fflush(stdout)试试看。
------解决方案--------------------------------------------------------
在每个最后不带\n的printf后面加fflush(stdout);

------解决方案--------------------------------------------------------
在输出缓冲池内,并没有显示到屏幕上。
  1)加上\n
  2) fflush(stdout)
  3)有输入
  4)程序结束
  5)缓冲池慢   
  以上的集中情况就会输出到屏幕上