Dev-C++下的char字符数组strlen()诡异事件

【环境】: Windows,Dev-C++ 5.9.2

如下代码所示,定义一个长度为4的字符数组,从键盘输入长度为4的字符串

然后调用strlen()函数,将字符串的长度赋值给一个整型变量length

之后诡异的事情就发生了,字符串的长度居然加了一位。

下面是运行截图:

有大佬知道为什么吗?

#include 
#include 
using namespace std;

int main()
{
	char ch[4]; //定义一个长度为6的字符数组 
	int length; //定义一个整数 

	gets(ch);   //输入字符串,当输入的字符串长度达到4时,后面的两行输出竟然不同, 
	
	cout << "字符串长度为:" << strlen(ch) << ",字符串为:" << ch << endl;
	
	//就是这句话,多了这句话以后,前后两次输出竟然不同 
	length=strlen(ch);

	//此时字符串长度多了一位 
	cout << "字符串长度为:" << strlen(ch) << ",字符串为:" << ch;

	return 0;
}

 

你可能感兴趣的:(Dev-C++下的char字符数组strlen()诡异事件)