在 C 中使用 scanf 时,代码不会编译或抛出错误,永远卡在构建中
Code wont compile or throw an error when using scanf in C, gets stuck building forever
我想先说明一下我对编码非常缺乏经验。
每当我尝试编译我的代码时,它永远不会完成构建并且永远不会抛出错误。然后,我必须使用任务管理器停止 stuck.exe(卡住的是 c 文件的名称),以便我可以再次尝试编译。我已将问题缩小到与 scanf 函数有关。
#include <stdio.h>
int main(void) {
int number = 0;
printf("this line shouldn't break anything. number = %d\n", number);
printf("what should the new value of number be?: ");
scanf("%d", &number);
return 0;
}
当我删除具有 scanf 函数的行时,其余代码将按预期进行编译。
我在 Windows 10 上的 SublimeText3 中完成所有这些工作,并使用 MinGW 提供的 GCC。
如果您能提供任何有助于我的信息,我们将不胜感激,如果您需要更多信息,请告诉我。
即使我的编译器是 GCC-MinGW 并且我使用 Vscode,你的程序即使在线也能正常工作 compilers.Maybe 你的 C 安装有问题或者检查你的系统内存是否接近充满它有时可能会导致这样的问题。
如果你有一个进程stuck.exe
,这意味着程序编译完成并被IDE/text编辑器自动启动。 scanf
从标准输入读取,但显然 IDE 不会以交互方式执行它,因此您无法通过 IDE.
输入数字
在您的 IDE 中,您需要使用 Compile 或 Build 命令(而不是 运行),并在命令 shell window.
中手动调用 stuck.exe
我想先说明一下我对编码非常缺乏经验。
每当我尝试编译我的代码时,它永远不会完成构建并且永远不会抛出错误。然后,我必须使用任务管理器停止 stuck.exe(卡住的是 c 文件的名称),以便我可以再次尝试编译。我已将问题缩小到与 scanf 函数有关。
#include <stdio.h>
int main(void) {
int number = 0;
printf("this line shouldn't break anything. number = %d\n", number);
printf("what should the new value of number be?: ");
scanf("%d", &number);
return 0;
}
当我删除具有 scanf 函数的行时,其余代码将按预期进行编译。
我在 Windows 10 上的 SublimeText3 中完成所有这些工作,并使用 MinGW 提供的 GCC。
如果您能提供任何有助于我的信息,我们将不胜感激,如果您需要更多信息,请告诉我。
即使我的编译器是 GCC-MinGW 并且我使用 Vscode,你的程序即使在线也能正常工作 compilers.Maybe 你的 C 安装有问题或者检查你的系统内存是否接近充满它有时可能会导致这样的问题。
如果你有一个进程stuck.exe
,这意味着程序编译完成并被IDE/text编辑器自动启动。 scanf
从标准输入读取,但显然 IDE 不会以交互方式执行它,因此您无法通过 IDE.
在您的 IDE 中,您需要使用 Compile 或 Build 命令(而不是 运行),并在命令 shell window.
中手动调用stuck.exe