我无法使用C语言在VS Code中正确运行/调试代码。我已经在VSC,Mingw上安装了C / C ++包,并为Mingw应用了路径。我所有的文件也都运行.c格式。
只有我的代码的最后一部分在VSC中不断崩溃,当我在网站编译器上运行相同的代码时,它起作用了!
这是我的代码:
#include <stdio.h>
int main(void) {
int num1;
int num2;
printf("Enter a number: ");
scanf("%d", &num1);
printf("Enter another number: ");
scanf("%d", &num2);
printf("Answer: %d ", num1 + num2);
return 0;
}
最后一个printf
是VSC关闭输出窗口的地方,所以我永远也看不到代码的最终结果。有人有解决方案吗?非常感谢!
答案 0 :(得分:0)
从控制台运行程序:
cmd
cd \path_to_your_executable
答案 1 :(得分:0)
从Visual Studio运行控制台程序时,它将打开一个终端窗口,运行该程序,并且在程序退出时终端窗口会自动关闭。这是Microsoft Windows平台的一个经典问题,尽管像您这样的数百万新手程序员都遇到了同样的问题,但他们似乎并不在意。
如果您自己打开终端窗口,可以通过从开始菜单运行CMD
命令,将当前目录更改为程序二进制文件的目录之后,便可以手动运行程序。
要防止直接从Visual Studio直接运行时终端窗口立即关闭,应在从getchar();
返回之前添加2条main()
语句,以等待用户输入并有机会看到输出。仅用getchar()
读取一个字节是不够的,因为它将仅读取用户为响应第二个提示而输入的待处理换行符。
还请注意,最好输出尾随换行符以确保在某些旧系统上正确刷新了输出:
printf("Answer: %d\n", num1 + num2);
这是可以测试的修改程序:
#include <stdio.h>
int main(void) {
int num1 = 0, num2 = 0;
printf("Enter a number: ");
scanf("%d", &num1);
printf("Enter another number: ");
scanf("%d", &num2);
printf("Answer: %d\n", num1 + num2);
getchar(); // read the pending newline
getchar(); // read at least another byte from the user.
return 0;
}