回 帖 发 新 帖 刷新版面

主题:为什么在vc++中编译没有错误 可是不能运行

编译没有错误 可是不能运行

回复列表 (共10个回复)

沙发

就象是一个小孩,把他生下来没问题(相当于编译),但是这个孩子却做了不该做的事,比如说吃喝嫖赌坑蒙拐骗之类的事(相当于运行时非法内存访问或对系统资源消耗过大或死循环等等),所以就把他抓起来关进监狱(操作系统弹出对话框提示程序非法操作,并中止该程序或者程序无响应),原因就是家长没教育好他(相当于你代码编写有错误)

板凳

可是 用vc++编写后 没有错误 然后运行 它就弹出无法运行程序

3 楼

#include <stdio.h>
main()
{
     float a,b;
     printf("chengji1=");
     scanf("%f",&a);
     printf("chengji2=");
     scanf("%f",&b);
     printf("zongfen=%f\npingjunfen=%f",a+b,(a+b)/2);
     getch();


0 error(s),0warning(s)
可是一运行就是无法执行程序

4 楼

[quote]就象是一个小孩,把他生下来没问题(相当于编译),但是这个孩子却做了不该做的事,比如说吃喝嫖赌坑蒙拐骗之类的事(相当于运行时非法内存访问或对系统资源消耗过大或死循环等等),所以就把他抓起来关进监狱(操作系统弹出对话框提示程序非法操作,并中止该程序或者程序无响应),原因就是家长没教育好他(相当于你代码编写有错误)[/quote]
强强兄的解释,形象生动。

5 楼

把float a, b;改为double  a, b;看行么?我回家了,没电脑不能检验。如果是行的话,错误原因可能是scanf函数的%f需要double数据,float数存不下一个double数。

6 楼

还是无法执行程序~~~ 我都写了十个 可是就只有一个可以运行的 楼上楼的 两位老兄说得很好 可是要怎么解决啊

7 楼

#include <stdio.h>
int main()
{
 float a,b;
 printf("chengji1=");
 scanf("%f",&a);
 printf("chengji2=");
 scanf("%f",&b);
 printf("zongfen=%f\npingjunfen=%f",a+b,(a+b)/2);


运行了,没有问题的。(我用的Visual Studio 2010,但相信其它版本的VC也应该一样)
输入:10<换行>20
输出:
chengji1=10
chengji2=20
zongfen=30.000000
pingjunfen=15.000000

windy0will同学说scanf的%f需要double类型,其实不是的。scanf的%f需要float,%lf才需要double。这跟printf不同,printf的%f和%lf可以混用,因为float也会先转化为double,再输出。

8 楼

[quote]#include <stdio.h>
int main()
{
 float a,b;
 printf("chengji1=");
 scanf("%f",&a);
 printf("chengji2=");
 scanf("%f",&b);
 printf("zongfen=%f\npingjunfen=%f",a+b,(a+b)/2);

运行了,没有问题的。(我用的Visual Studio 2010,但相信其它版本的VC也应该一样)
输入:10<换行>20
输出:
chengji1=10
chengji2=20
zongfen=30.000000
pingjunfen=15.000000
windy0will同学说scanf的%f需要double类型,其实不是的。scanf的%f需要float,%lf才需要double。这跟printf不同,printf的%f和%lf可以混用,因为float也会先转化为double,再输出。[/quote]
非常感谢eastcowboy前辈耐心指出错误。确实是我记错了。

9 楼

7楼的 大哥 那为什么我的vc++6.0专用版 还是显示无法执行程序啊????????

10 楼

我确实没有看出有什么问题。

顺便说一下,微软已经抛弃VC++ 6.0了。似乎还在网上说过类似“因为使用VC++ 6.0,造成任何问题概不负责”的话。
其实找一个好用的VC很容易。微软放出了一些免费版的VC,虽然少了一些功能(比如MFC和ATL),但其实已经够用了。不论是初学者,还是真正工作,都够用了。目前主要推荐2008和2010两个版本,2008其实是VC++ 9.0,2010其实是VC++ 10.0。两个都不错。
下载地址:[url]http://www.microsoft.com/express/Downloads/[/url],里面可以选择Visual Studio 2008 Express SP1和Visual Studio 2010 Express,都有中文/英文版本,而且都是免费的。刚安装的时候似乎有30天的使用限制,但免费注册之后就可以永久使用了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册