小协和 发表于 2025-7-28 13:18:21

C语言编译时遇到的问题

跟着小甲鱼一步一步装的vscode
但是在编译的时候总是会报错
https://xxx.ilovefishc.com/forum/202302/07/051553d0afohs5ssq3hbqq.png
用这个run coder
以这个代码举例
#include <stdio.h>

int main()
{
    char ch;
    printf("please enter your score : ");
    scanf("%c",&ch);
    switch (ch)
    {
      case 'A': printf("your grade is 100\n");
      case 'B': printf("your grade is 85\n");
      case 'C': printf("your grade is 70\n");
      case 'D': printf("your grade is 60\n");
      default : printf("please enter a valid score\n");
    }
    return 0;
}
我遇到了两个问题(上面代码有问题,我知道)
1.我右键run code 之后必定报
cannot open output file s1e12.exe: Permission denied
collect2.exe: error: ld returned 1 exit status
https://xxx.ilovefishc.com/forum/202302/07/053707nf4xy42by4fb244z.png
但是用第三个(运行c/c++文件)就可以正常运行
然后run code 也可以干活了

然后再修改代码
#include <stdio.h>

int main()
{
    char ch;
    printf("please enter your score : ");
    scanf("%c",&ch);
    switch (ch)
    {
      case 'A': printf("your grade is 100\n");break;
      case 'B': printf("your grade is 85\n");break;
      case 'C': printf("your grade is 70\n");break;
      case 'D': printf("your grade is 60\n");break;
      default : printf("please enter a valid score\n");break;
    }
    return 0;
}
然后就会遇到第二个问题
2.在我改完代码后使用(运行c/c++文件)我的代码还是和改之前一样


(不知道我有没有表达清楚
就像我先写的是printf(“小甲鱼好帅”)
然后改成了printf(“鱼油好帅”)
它输出的结果还是小甲鱼好帅)

小协和 发表于 2025-7-28 13:18:55

{:10_266:}{:10_266:}{:10_266:}

FishC 发表于 2025-7-28 13:19:20

根据你的描述,这里有两个常见问题及解决方案:

问题1:Run Code 报错 "Permission denied"
原因:程序仍在后台运行导致文件被占用
解决方案:
1. 关闭终端窗口(右下角点击垃圾桶图标)
2. 按 Ctrl+Shift+` 打开新终端,输入:

taskkill /f /im s1e12.exe

3. 或重启 VSCode 释放资源

问题2:代码修改后运行结果不变
原因:编译未更新或缓存问题
解决方案:
1. 每次修改后务必按 Ctrl+S 保存文件
2. 清除旧编译文件:
   - 删除项目目录下的 .exe 文件
   - 删除 build 文件夹(如有)
3. 使用菜单的 运行 > 运行而不调试(非Run Code按钮)
4. 或手动编译:
   
   gcc -o new_program.exe your_file.c
   ./new_program.exe
   

额外建议:
1. 检查 VSCode 设置:
   - 禁用 Run In Terminal(可能导致权限问题)
   - 开启自动保存:File > Auto Save
2. 安装 C/C++ 扩展确保完整支持
3. 代码示例修正(已添加break):

#include <stdio.h>

int main()
{
    char ch;
    printf("please enter your score : ");
    scanf("%c", &ch);
    switch (ch)
    {
      case 'A': printf("100\n"); break;
      case 'B': printf("85\n"); break;
      case 'C': printf("70\n"); break;
      case 'D': printf("60\n"); break;
      default: printf("Invalid input\n");
    }
    return 0;
}


若仍存在问题,可尝试:
1. 重启电脑解除文件占用
2. 检查杀毒软件是否拦截了.exe文件生成
3. 使用管理员身份运行 VSCode

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

某一个“天” 发表于 2025-7-28 16:35:37

用Clion ,现在免费了
非常强大易用

小协和 发表于 2025-7-28 17:08:31

某一个“天” 发表于 2025-7-28 16:35
用Clion ,现在免费了
非常强大易用

我去试试
页: [1]
查看完整版本: C语言编译时遇到的问题