字符串初始化定义以及输入

对于字符串定义比如:

        char a[5] = {0};

这就是定了一个长度为5的字符串。

但在程序中用scanf输入却只能输入四个字符,程序如下:

运行:

运行结果与预期无误,用scanf将长度为4的字符串赋给a,但a定义的长度为5,如果输入长度为5的字符字符串会怎么样呢

如图出现段错误,因为用scanf输入时,以回车结束,但在字符串中,回车也是一个字符,所以字符串的实际长度超出范围,因而出现段错误。

为避免这种情况,可以将字符串的长度定义的大一点。

猜你喜欢

转载自blog.csdn.net/qq_37655087/article/details/78476044
今日推荐