字符串奔溃的原因
一、字符串奔溃的两种情况
1.试图修改字符串常量的值
2.越界
二、解释
1. gets:gets函数是读取一行的字符串,所以此函数容易发生越界的情况,使用时编译器会发出警告;
必须使用时建议用fgets;
2.举例
#include <stdio.h>
#include <string.h>
int main()
{
char *str1="abcd";//str1为字符串常量
char str2[]="abcde";
//str1[0]='x';//error,因为str1为字符串常量不能进行复制
str2[0]='x';
//strcpy(str1,"xyz");//error,因为str1为字符串常量不能进行复制
//strcpy(str2,"hello world");//error,因为str2为6个字节,不能将hello world拷贝在str2内
}