菜鸟解决vs闪退过程中遇到的问题

1。getchar解决

#include<stdio.h>

#include<math.h>
#include<string.h>
int main()
{
int n, i,flag;
i = 2;
flag = 1;
scanf_s("%d", &n);
while (i <= sqrt((double)n))
{
if (n%i == 0)
{
flag = 0;
break;
}
i++;
}
if (flag ==0)
printf("不是质数");
else
printf("是质数");
getchar();

return 0;

}

这个我输入77回车之后还是闪退,为什么呢?百度得到的原因:

要加两个。
因为你之前输入数字的时候按了回车键,然后它被这个getchar()吃掉了。

要避免一闪而过更好的办法2是:
在源文件开头添加:#include <stdlib.h>
然后在main里面return上一行添加: system("pause");
深入理解:scanf输入空格回车以及TAB时会认为输入结束,但空格回车TAB并没有读进去,所以getchar读入了该字符,会闪退。
3.

修改项目配置,右键点击项目,在右键菜单中选择属性,然后在弹出的对话框左侧列表中选择“配置属性”-->“链接器”-->“系统”,然后在右侧的列表中,在第一项”子系统“的值中选择”控制台(/SUBSUSTEM:CONSOLE)“

这个遇到的问题首先是项目选择不对画红圈的才是项目,

其次我说什么都找不到系统,最后发现链接器要双击才会显示出完整的菜单栏,我一直在单击。

最后来一句鸡汤,优秀的人不是没有问题,而是在提出这个问题之前就已经自己解决了。自己解决问题效率的确会比较高,而不是一味的去问大神。

扫描二维码关注公众号,回复: 3334286 查看本文章

猜你喜欢

转载自blog.csdn.net/huaiyingdetective/article/details/80022387