问题阐述:
见如下代码:输出0-60的正整数 文件名为“ceshi.c”
//测试
#include <stdio.h>
int main(void) {
int n = 0;
for (int i = 0; i <= 60; i++) {
printf("%d\t", i);
n++;
if (n % 5 == 0) {
printf("\n");
}
}
}
运行结果如下
另一个文件代码如下,目的是输出0-100的正整数,文件命名为“ceshi 2.c” 注意文件名内有空格
//测试 2
#include <stdio.h>
int main(void) {
int n = 0;
for (int i = 0; i <= 100; i++) {
printf("%d\t", i);
n++;
if (n % 5 == 0) {
printf("\n");
}
}
}
当我们点击编译并且运行时,bug出现了
程序调用的是“ceshi.exe”
而不是我们期望的“ceshi 2.exe”,尽管运行窗口显示的是“ceshi 2.exe”
我们期望的输出是
问题分析:
当我尝试修改“ceshi.c”的内容,编译后再运行“ceshi 2.c”输出的结果是更改后的“ceshi.exe”
我分析可能问题出现在小龙dev cpp6.0版本在调用.exe文件时错误的把文件名内部的空格当成了结束,如果尝试将整个文件名整体引用也许能够获得改善。
用于问题复现:devcpp: Windows 环境下的一个轻量级免费 C/C++ 集成开发环境(IDE)
解决方法:
我将向开发者进行反馈
1.在问题修复之前不要在文件名内部使用空格
2.使用平替编译器
https://wwi.lanzoup.com/iHC0g27tqt5e
密码:1234