为什么我的CodeBlocks运行C语言代码时总是提示执行失败?
问题排查说明
从你给出的运行日志Process returned 0 (0x0)可以判定程序是正常运行结束的,不存在执行失败的问题,你觉得异常应该是输出只有1行Hello world!和你预期的4行不符,常见原因如下:
- 输出缓冲区未刷新:部分Windows环境下Code::Blocks的控制台配置中,
\n不会触发标准输出缓冲区刷新,后3行打印内容还在缓冲区没输出到控制台程序就退出了。可以在return 0之前加一行fflush(stdout);,或者把printf里的\n换成\r\n测试。 - 未重新编译修改后的代码:你添加后3行
printf后如果没有重新编译就直接运行,实际跑的是只有1行打印的旧程序。可以先点「构建」-「清理」删掉旧的编译文件,再点「构建并运行」重新测试。 - 编译器配置错误:如果Code::Blocks没有正确绑定MinGW编译器,或者环境变量配置异常,也会导致修改代码后编译产物不更新。可以看构建面板的日志,确认编译过程没有报错,有报错的话重新配置编译器路径即可。
// 修复后的参考代码 #include <stdio.h> #include <stdlib.h> int main() { printf("Hello world!\n"); printf("Hello world!\n"); printf("Hello world!\n"); printf("Hello world!\n"); fflush(stdout); return 0; }
内容的提问来源于stack exchange,提问作者pramanta gerinata
相关产品推荐
相关产品推荐

