为什么C语言程序编译正确但不能执行?

关键是下面的错误怎么回事?真心求大神解惑!... 关键是下面的错误怎么回事?真心求大神解惑! 展开
 我来答
fly飞天999
推荐于2017-10-06 · TA获得超过105个赞
知道答主
回答量:48
采纳率:100%
帮助的人:28.1万
展开全部

这当然原因非常多,比如:编译器编译不够严格、程序有很大的风险等等,最简单的一个例子如下:

    int a;
    scanf("%d",a);

可以确定的一点是:一旦在运行中出现错误,大多是较为严重的错误,须引起重视,否则,一旦错误非常严重,必会导致许多严重的后果,如死机、卡屏甚至直接导致蓝屏

将爱蓝画真1R
2014-05-25 · 超过11用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:28.5万
展开全部
这哪是编译正确,这是有一个语法错误的意思,这样的程序是无法运行的。
最后一句的语法错了
应该是printf("%4d %d\n",i,slect[i]);
双引号中间是格式控制字符串,用于控制输出的字符串以及变量的格式,
变量需要放在双引号外头,用逗号分隔。
追问
除了这些编译问题。语法错误能找出来,这没有黑色小箭头
追答
你双击一下6-1.exe- 1 error(s)那一行,上面应该会给你指出哪一行有问题的,不过给出的提示是英文的,看不懂的话可以用词典翻译一下

这个绝对是语法错误,程序错误分为三种,一种是语法错误,就是上面显示的error:1,
第二种是警告,也就是上面的warning,这个一般是由于不合适的编程习惯引起,给你举个例子吧,比如:你定义了一个变量却从未使用它,就会出现这种情况。这并不是致命的程序错误,虽然不合适,但不会导致程序无法运行。
第三种是逻辑错误,这种错误也是最为麻烦和不易发现的错误,VC++6.0不会给你任何提示,没有error,也没有warning,程序可以正常运行,但是会出现各种各样的问题,例如,得不出正确的结果,或者是scanf输入数据后程序奔溃。这是由于设计程序时,逻辑出现错误引起的。

你的错误绝对是第一种
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
数码答疑

2015-11-05 · 解答日常生活中的数码问题
数码答疑
采纳数:8805 获赞数:18622

向TA提问 私信TA
展开全部
编译正确只是代表程序没有语法错误,至于逻辑错误是无法判断的。
但是你的程序明显提示有错误,需要修改
printf("%4d %d\n",i,slect[i]);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
学不可以已
2015-11-20 · TA获得超过619个赞
知道小有建树答主
回答量:1317
采纳率:57%
帮助的人:407万
展开全部
编译正确不代表着就能够正确执行了
编译正确说明只能说明语法上没有出现问题
而执行不了,有可能是你的逻辑有问题
建议详细检查代码,确证语法、逻辑都没有错误后,再编译执行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ningai007
2015-11-11 · TA获得超过1.6万个赞
知道大有可为答主
回答量:1890
采纳率:0%
帮助的人:304万
展开全部
编译正确只是代表程序没有语法错误,无法判断逻辑错误。
仔细检查你的程序,判断逻辑流程是否有误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式