初学者对double和float的疑问

为什么这个程序我用double定义n时运行后输入>0 的数再按回车程序就结束了但用float定义后就正常了?

img

img

double 用 %lf

img

关于double和float
浮点型系统自认为double类型
比如
float a =1.0
这个系统其实还是默认为是double类型
float b=1.0f(后缀f,告诉系统是float类型)
float类型输入输出就是 %f
double类型输入输出是 %lf

还看到您程序有些小问题
1、scanf_s并不是c语言提供的,是vs这个编译器提供的。最好还是用scanf(可能vs会报错,但是稍微修改一下就能用了,可以查阅一下)
2、文件后缀名,.cpp是c++的;目前看您写的应该是C语言,后缀名还是改为.c比较好
这些只是一些小建议