为什么使用scanf时运行按enter后程序直接结束?(语言-c#)

在学习c语言时使用scanf时运行按enter后程序直接结束,代码无报错,程序如下:
#include

int main(void)
{
int no;
printf("请输入一个整数:");
scanf_s("%d", &no);
printf("您输入的是:%d。\n", no);
return 0;

}
运行结果为-请您输入一个整数:
然后我输入数字后按enter程序就结束了,尝试过用getchar();等消除缓存,但结果没有改变
求解

编译器问题

img

如果还没解决可以在结尾添加一个system("pause")

可能程序运行太快,黑框不停留,加一个system("pause")

不同IDE使用的调试器不同
如果是IDE自带的调试器,一般是直接嵌入到IDE窗体下部的
弹窗形式的也会等待用户点击退出
而如果直接调用cmd控制台来显示结果,那运行完进程结束,窗体也就自动关闭了
所以要么在结尾加个system("pause")
要么再加个scanf来阻塞代码
getchar不行,它直接从缓存拿到回车的数据,并不阻塞代码


可以查看手册:c语言-scanf() 中的内容