数组password容量只有1个单位,你输入了123456肯定是溢出了啊,把[]里面填上容量即可。
你设置_CRT_SECURE_NO_WARNINGS 只是不报错了
不代表你运行时逻辑正确
你还是要把逻辑改对,才是解决问题的根本
您好,_CRT_SECURE_NO_WARNINGS 宏是告知编译器不报错,而此代码的根本错误是password的存储空间声明为1,而输入不止1,因此出错。
可做如下修改:char password[7] = {0};
对于char password[] = {0}; 这种定义,它是以后面的赋值个数来定义存储空间,只有一个0则意味着数组大小为1
问题已解决
忽略了# define _CRT_SECURE_NO_WARNINGS 要放在程序的第一行!