vscode运行c程序出错

这是一个输入年月日,输出这是这一年的第几天的程序,我承认这个程序写的不简洁
不过这个程序在vscode中运行不了,报错信息如下
No such file or directory
collect2.exe: error: ld returned 1 exit status
但是在dev c++中可以运行,并且结果是正确的
我的vscode之前也运行过c程序,所以网上有人说是vscode配置文件的问题时我有点怀疑,求解答
这是程序源码


#include<stdio.h>
int main()
{
    int n[12][31]={0};
    int i,j,year,mouth,day,z=0;
    for(i=0;i<12;i++)
    {
        if(i==0)
        {
            for(j=0;j<31;j++)
            {
                n[i][j]=1;
            }
        }
        if(i==2)
        {
            for(j=0;j<31;j++)
            {
                n[i][j]=1;
            }
        }
        if(i==3)
        {
            for(j=0;j<30;j++)
            {
                n[i][j]=1;
            }
        }
        if(i==4)
        {
            for(j=0;j<31;j++)
            {
                n[i][j]=1;
            }
        }
        if(i==5)
        {
            for(j=0;j<30;j++)
            {
                n[i][j]=1;
            }
        }
        if(i==6)
        {
            for(j=0;j<31;j++)
            {
                n[i][j]=1;
            }
        }
        if(i==7)
        {
            for(j=0;j<31;j++)
            {
                n[i][j]=1;
            }
        }
        if(i==8)
        {
            for(j=0;j<30;j++)
            {
                n[i][j]=1;
            }
        }
        if(i==9)
        {
            for(j=0;j<31;j++)
            {
                n[i][j]=1;
            }
        }
        if(i==10)
        {
            for(j=0;j<31;j++)
            {
                n[i][j]=1;
            }
        }
        if(i==11)
        {
            for(j=0;j<31;j++)
            {
                n[i][j]=1;
            }
        }
    }
    scanf("%d %d %d",&year,&mouth,&day);
    if((year%4==0&&year%100!=0)||(year%400==0))
    {
        for(i=0;i<29;i++)
        {
            n[1][i]=1;
        }
    }
    else 
    {
        for(i=0;i<28;i++)
        {
            n[1][i]=1;
        }
    }
    for(i=0;i<mouth-1;i++)
    {
        for(j=0;j<31;j++)
        {
            if(n[i][j]==1)z++;
        }
    }
    for(j=0;j<day;j++)
    {
        z++;
    }
    printf("%d",z);
}

看报错是链接报错vscode是安装在windows上运行的吧编译器搭建好了吗?

【以下回答由 GPT 生成】

这个问题是由于编译器找不到所需的文件导致的。由于你在Dev C++中没有出现错误,这可能是由于Dev C++已经配置了正确的编译器路径,而在vscode中还没有配置。

以下是解决这个问题的步骤:

  1. 首先,打开vscode,在顶部菜单栏中选择"文件"->"打开文件夹",然后选择包含你的C程序的文件夹,以便在vscode中打开该文件夹。

  2. 接下来,打开vscode的终端界面。方法是点击顶部菜单栏中的"查看"->"终端"。这将打开vscode终端。

  3. 在终端中,我们需要安装一个插件来支持C/C++编译和调试。在终端中输入以下命令并按Enter执行:

shell code --install-extension ms-vscode.cpptools

这将安装C/C++插件。

  1. 安装完成后,点击vscode左侧的调试图标,然后点击顶部菜单栏中的"创建一个launch.json文件"。

vscode debug

  1. 在弹出的选项中,选择"C++ (GDB/LLDB)"。这将为C程序创建一个调试配置。

  2. 接下来,在打开的launch.json文件中,将以下代码复制到"configurations"列表的最后:

json { "name": "(Windows) Launch", "type": "cppvsdbg", "request": "launch", "program": "${workspaceFolder}/your_program_name.exe", "args": [], "stopAtEntry": false, "cwd": "${/workspaceRoot}", "environment": [], "externalConsole": true },your_program_name替换为你的C程序的文件名(不包括.c扩展名)。

  1. 保存launch.json文件。

  2. 最后,在vscode终端中输入以下命令来编译和运行你的C程序:

shell gcc your_program_name.c -o your_program_name.exe ./your_program_name.exe

your_program_name替换为你的C程序的文件名(不包括.c扩展名)。

这样,你的程序应该能够在vscode中成功编译和运行了。如果还有其他问题,请告诉我。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^