【环境】:
Windows,Dev-C++ 5.9.2
如下代码所示,定义一个长度为4的字符数组,从键盘输入长度为4的字符串
然后调用strlen()函数,将字符串的长度赋值给一个整型变量length
之后诡异的事情就发生了,字符串的长度居然加了一位。
下面是运行截图:
有大佬知道为什么吗?
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char ch[4]; //定义一个长度为4的字符数组
int length; //定义一个整数
gets(ch); //输入字符串,当输入的字符串长度达到4时,后面的两行输出竟然不同,
cout << "字符串长度为:" << strlen(ch) << ",字符串为:" << ch << endl;
//就是这句话,多了这句话以后,前后两次输出竟然不同
length=strlen(ch);
//此时字符串长度多了一位
cout << "字符串长度为:" << strlen(ch) << ",字符串为:" << ch;
return 0;
}
版权声明:本文为u013313909原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。