没有呀!你的程序后缀名是什么?应该是.cpp
// Mytest.cpp#include <iostream.h>
#include <stdio.h>void main()
{
cout << "This is cout test\n";
printf("This is printf test\n");
}

解决方案 »

  1.   

    文件是.cpp,我的程序里面有循环、特定输出如:
    #include <stdio.h>
    #include <string.h>
    #include <iostream.h>void main(int n, int r,int k)
    {
      int i,j;
      for (i=n;i>=r;i--)
      {
      if((i!=n)&&(k!=r))
      {
      for(j=1;j<=(k-r)*3;j++)
    //cout<<" ";
    printf(" ");
      }
      //cout<<"  "<<i;
    printf("%3d",i);
    if(r>1)
      comb(i-1,r-1,k);
      else
      //cout<<"\n";
    printf("\n");
      }
    }
      

  2.   

    cout与printf的那一套机制有点不同。
    cout带有缓冲机制,而printf没有缓冲。
    建议除非真的有必要,否则不要混用。因为这是很不好的做法。如果一定要混用的话,可以试试在cout<<"\n";之后加上cout.flush();
      

  3.   

    我这个问题也是在无异中发现的,原因很简单,我在调试时分步运行,用cout分步执行时,输出的执行结果是未知数(无内容输出),而用printf时输出的执行是结果(有内容输出)利于调试。用一句话说:cout分步执行时,到程序结束时才输出运行结果。printf每步运行都有结果输出,利于调试。程序例子如下:有兴趣不妨去研究一下,事实可能没必要,也是一种探讨!!!
    #include <stdio.h>
    #include <iostream.h>void comb(int n, int r,int k);void main()
    {
        int n,r,k;
        n=5;r=3;k=3;
        comb(n,r,k);
        //cout<<"*********************\n";
        printf("*********************\n");
        cout<<"*********************\n";
    //     printf("*********************\n");    
    }void comb(int n, int r,int k)
    {
        int i,j;
        for (i=n;i>=r;i--)
        {
            if((i!=n)&&(k!=r))
            {
                for(j=1;j<=(k-r)*3;j++)
                    cout<<" ";
                    //printf(" ");
            }
            cout<<"  "<<i;
            //printf("%3d",i);
            if(r>1)
                comb(i-1,r-1,k);
            else
                cout<<"\n";
                //printf("\n");
        }
    }