Dev-C++下的char字符數組strlen()詭異事件

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

如下代碼所示,定義一個長度爲4的字符數組,從鍵盤輸入長度爲4的字符串

然後調用strlen()函數,將字符串的長度賦值給一個整型變量length

之後詭異的事情就發生了,字符串的長度居然加了一位。

下面是運行截圖:

有大佬知道爲什麼嗎?

#include <iostream>
#include <cstring>
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;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章