2301_80831150 2023-11-29 16:54 采纳率: 0%
浏览 126

vscode调试C语言这个gets为什么输入不了呀

img

img

img


在15行设置断点之后终端位置不能输入 点逐过程调试之后调试就结束了 为什么不能输入阿

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-11-29 19:05
    关注

    【以下回答由 GPT 生成】

    解决该问题的方法如下:

    1. 问题描述: 在vscode中调试C语言程序时,使用gets函数无法输入内容,且调试在逐步执行后立即结束。

    2. 原因分析: 这是由于vscode内置的终端不支持输入问题,因为gets函数等待从终端获取输入,但vscode终端没有支持标准输入的功能。

    3. 解决方法:

      • 使用scanf函数替代gets函数:

        • 将所有的gets函数替换为scanf函数。在C语言中,scanf函数也可以用于读取输入。例如,将 gets(input) 替换为 scanf("%[^\n]s", input)

        ```c

        include

        int main() { char input[100]; printf("请输入字符串:"); scanf("%[^\n]s", input); printf("输入的字符串为:%s\n", input); return 0; } ```

        注意:scanf函数使用"%[^\n]s"格式字符串可以读取除换行符外的全部字符。

      • 使用外部命令行终端:

        • 安装C/C++插件: 转到vscode的扩展选项卡,搜索并安装"C/C++"插件。

        • 在vscode中打开工作目录的终端:

          • 使用Ctrl + 反引号 (按键,或者转到"视图"菜单,选择"终端" - "新建终端"。
        • 打开外部命令行终端:在新打开的终端窗口中,选择适用于您的操作系统的命令行终端。

          • Windows用户可以选择PowerShell或者cmd。
          • Linux用户可以选择Bash或者其他终端。
          • macOS用户可以选择Bash或者Zsh。
        • 在外部命令行终端中编译和运行C程序:

          • 使用cd命令在终端中导航到您的C语言程序所在的目录。

          • 使用C编译器(如gcc)将源文件编译为可执行文件。例如: gcc -o program_name source_file.c

          • 运行可执行文件: ./program_name

        在使用外部命令行终端时,您应该能够在命令行终端中输入和调试您的C程序,而不会遇到内置vscode终端的限制。



    【相关推荐】



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

报告相同问题?

问题事件

  • 创建了问题 11月29日