正在看钱能的C++,
照其书中所述,在下面这个小程序中:   #include <iostream.h>
   void main()
   {  
      for(int i=0;i<3;i++)cout<<i;
   
      cout<<endl;      for(int i=0;i<3;i++)cout<<i; 
   }变量i是生存于FOR语句的变量,应该互不干扰,但我在使用中(VC或TC++) 却得到一个变量重复定义的错误,聪明的,请你诉我为什么?另外还有一个小问题: VC中新建工程时选择"WIN32控制台应用程序"或"WIN32应用程序"选项,有什么不同呢,区别何在?谢谢了,回答的和不会回答的.

解决方案 »

  1.   

    #include <iostream.h>
       void main()
       {  
          for(int i=0;i<3;i++)cout<<i;
       
          cout<<endl;      for(i=0;i<3;i++)cout<<i; 
       }改成这样呢?第二个问题~
    WIN32控制台应用程序就是Console程序~跟TC写出来的一样的东西~
    Win32应用程序是Windows程序~就是窗口程序~
      

  2.   

    标准C/C++中认为在
      for()
    中定义的变量,其作用域为其后的{},也就是你说的那位钱先生的话.在VC中MS认为在
      for()
    中定义的变理,其作用域为包含for语句在内的那个{},于是你就有冲突了.这没有什么,只是编译器在实现C/C++时的想法不同而已.简单来说:
    WIN32控制台应用程序 其主程序是main().
    WIN32应用程序       其主程序是winmain().当然还有许多复杂的细节上的不同,不过看你问第一个问题的深度,那些细节你以后就会慢慢了解了.