很纳闷为何在vs2005里编译下面这段程序会出错,代码本身在vc6.0顺利编译通过!

#include<iostream>
using namespace std;
#define SIZE 2
int main()
{
int data[SIZE];
cout<<"请输入"<<SIZE<<"个整数: ";
int i;
for(i=0;i<SIZE;i++) cin>>data[i];
cout<<endl;
for (i=SIZE-1;i>=0;i--);
cout<<data[i]<<' ';
return 0;
}

错误如下:
1>------ 已启动生成: 项目: c, 配置: Debug Win32 ------
1>正在链接...
1>LINK : fatal error LNK1104: 无法打开文件“f:\chengxu\c\debug\c.exef:\chengxu\c\debug\c.exee:\VS2005\Common7\IDE\Debug.obj”
1>生成日志保存在“file://f:\chengxu\c\c\Debug\BuildLog.htm”
1>c - 1 个错误,0 个警告
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========

不是网上所说的创建工程类型错误,我创建的就是win32控制台应用程序。
刚不知道哪儿设置错了,运行出来了现在,但是貌似结果有问题啊,输入两个整数然后dos界面一闪而过?内存溢出?什么问题?

clean 一下工程 编译能通过
把工程下的debug文件删除了再编译也行 编译的时候按crl+F5进行编译
for (i=SIZE-1;i>=0;i--);后面的分号不要加
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-16
先把工程清理一下,然后在编译。
这个也可能是c.exe文件还在运行当中,这个时候编译是通不过的
第2个回答  2011-03-16
在vs2005里面运行程序要用ctrl+f5,而不是调试程序的快捷键f5,或者你可以在main函数最后,return之前加上system("pause");或者getchar();做一个等待用户响应的操作追问

可以运行出来,但是不是预期的结果反转两个数字顺序,而是得到一个负数,你可以粘贴进vs试一下!

第3个回答  2011-03-17
C++6.0的构架 不过一般斗兼容的

程序错误 贴出来看下

或者直接hi我 咱们研究研究
第4个回答  2011-03-18
dos界面一闪而过是正常的,建议你用VS写DOS程序的时候,执行完后想看结构使用pause来暂停下就对了
第5个回答  2019-07-10
vs06(注意不是vs6.0)两个是不同的,vs06包括了:一下我截图了的,它包阔vc++2005(也就是vc2005),我有光碟作证。

很纳闷为何在vs2005里编译下面这段程序会出错,代码本身在vc6.0顺利编 ...
clean 一下工程 编译能通过 把工程下的debug文件删除了再编译也行 编译的时候按crl+F5进行编译 for (i=SIZE-1;i>=0;i--);后面的分号不要加

我用Vc6.0编译的一个程序可以运行正确,但是在VC2005中结果是乱码_百度...
你看看你的工程设置里是不是用的Unicode字符,2005默认是这个选项,是的话改为多字节

在vs2005如何如何看懂一个project,比如以前vc6.0可以从main函数看整个函...
1.对于大型的程序我们在写程序以前肯定有很多文档,需求分析文档,功能模块文档,详细设计文档,这些文档都有助于我们明白当前的程序大整体功能。2.在程序设计阶段我们肯定会画很多图,比如接口图,类图,流程图,序列图等等这些都有助于我们理解我们整个程序的架构以及各个代码模块完成什么功能,以及这些模块...

以前用的是vc6.0编写现在用vs2005里面的函数虽然用法一样但参数都变了...
。。。所以如果VC6.0的工程在VS2005中打开,那么便会提示参数错误。解决办法有两种:方法1、将出错的函数后加A,如sendDlgItemMessage,改成sendDlgItemMessageA,即可。方法2、在转换后的工程设置中,通用设置->库字符集,改为使用Ansi字符集,即可。有一点你要记住,无论是什么编译器,系统API永远都是一...

Visual Studio 2005能编译运行VC++6.0编写的源代码吗?有什么要注意的...
需要进行少量编辑,以适应少数语言一致性的更改,多数"新的"规则成为 C++ 的标准已有一段时间了,但现在只有 Visual Studio 强制推行它们。比如:循环中的局部变量不再作用于循环之外。以前的编码可能是:for (int i=0; i0) { \/\/ do something else } 在该代码片段中,变量 i 是在 for 语句中...

vc6.0编译停不下来
不要用VS2005的“启动调试(S) F5”,也就是那个三角号,这是调试,就像VC里的调试,而在VC里它控制台应用程序闪都不闪一下。 你可以用“开始执行(不调试)(H) Ctrl+F5”,这样就可以停留了。另外,罗嗦一句,你可以通过1.可以在工具选项设置显示行数 2.双击状态栏行数可以看到 3.快捷键CTRL+G...

为什么同样的C程序在VC++6.0可以运行,在VS2010就不可以?
尝试了一下,虽然VC++ 6.0很老,也对上面这句报错,编译失败,应改为:swap(pointer_1, pointer_2); \/\/实现的是交换操作 函数定义和声明的时候才需要参数类型,调用的时候不需要,是因为声明与定义的时候已经告诉过编译器pointer_1, pointer_2的类型是int*。至于scanf,在VS 2010中给出是警告,...

MFC程序DEBUG模式下编译、链接都通过,但运行时崩溃。assertion failed...
建议你在D下面调试(F5)运行,对假设出错的地方单步跟踪(F10),这样就能看到程序出错的地方。如果不解决,即使R版运行当前运行正常,不代表程序就完全正确,长期运行就可能引起错误。

Visual Studio 6.0 与Visual Studio 2005能不能并存
2、Visual Studio 6.0 中编写的程序,在Visual Studio 2005中能不能读取、修改和编译。读取、修改都可以,编译就不一定,因为STL等很多库都有改动,变得更符合标准的。如VS 2005就没有iostream.h这个文件,而变成标准C++的iostream,同时增加了名称空间。3、在Visual Studio 2005中能不能编写非.NET的...

VS2005 和 VC 6.0的区别
只不过又添加了新功能 VS2005 其实是方便了软件开发,MS 向里面添加了一些新的功能,这样话提高了团队工作效率并增强了项目的可预见性、 集成的工具、简化的、集成的工作流和过程。VS2005还对编译选项做了些改变——比如加强了对UNCODE码的支持等,会VC6.0的话学习这些改变是容易的 ...

相似回答