相关插件已全部安装,设置里面也打开了run in terminal,一开始终端都可以正常输入回车之后输出结果,但是过一会啥都没动,再点击运行该段含scanf的代码就自动跳转到选择某一个软件打开该文件,但实则打不开因为是一个二进制文件。


连个报错都不给,根本不知道什么原因,问学长都不知道,快崩溃😫
vx:jk690134 如果能解决可以给酬金,求master们helphelp kid me吧
另外如果我取消勾选run in terminal然后运行其他不含scanf的代码就又能正常运行了。
相关插件已全部安装,设置里面也打开了run in terminal,一开始终端都可以正常输入回车之后输出结果,但是过一会啥都没动,再点击运行该段含scanf的代码就自动跳转到选择某一个软件打开该文件,但实则打不开因为是一个二进制文件。


关注让 “紫雾凌寒” 来帮你回答,本回答结合 DeepSeek
如果还有问题,请评论或点击头像私信,如果有帮助到您, 请关注、采纳、点赞
scanf读取文件名后,使用该文件名打开文件时,文件路径是正确的。例如,如果你的代码假设文件在当前目录下,那么文件名应该是正确的文件名且没有拼写错误。#include <stdio.h>
#include <stdlib.h>
int main() {
char filename[100];
printf("请输入文件名: ");
scanf("%s", filename);
FILE *file = fopen(filename, "r");
if (file == NULL) {
perror("无法打开文件");
return 1;
}
// 文件操作代码
fclose(file);
return 0;
}
fopen之后检查返回值并打印错误信息。#include <stdio.h>
#include <stdlib.h>
int main() {
char filename[10];
printf("请输入文件名: ");
scanf("%s", filename);
printf("读取的文件名是: %s\n", filename);
FILE *file = fopen(filename, "r");
if (file == NULL) {
perror("无法打开文件");
return 1;
}
// 文件操作代码
fclose(file);
return 0;
}
需要注意的是,在实际排查问题时,要综合运用这些方法,逐步缩小问题范围,最终找到解决方案。
希望以上解答对您有所帮助。如果您有任何疑问,欢迎在评论区提出。