正在看钱能的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应用程序"选项,有什么不同呢,区别何在?谢谢了,回答的和不会回答的.
照其书中所述,在下面这个小程序中: #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应用程序"选项,有什么不同呢,区别何在?谢谢了,回答的和不会回答的.
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程序~就是窗口程序~
for()
中定义的变量,其作用域为其后的{},也就是你说的那位钱先生的话.在VC中MS认为在
for()
中定义的变理,其作用域为包含for语句在内的那个{},于是你就有冲突了.这没有什么,只是编译器在实现C/C++时的想法不同而已.简单来说:
WIN32控制台应用程序 其主程序是main().
WIN32应用程序 其主程序是winmain().当然还有许多复杂的细节上的不同,不过看你问第一个问题的深度,那些细节你以后就会慢慢了解了.