今天遇到了一个C语言不扎实引起的bug,记录一下。
char* a="abcde"
和下面的是等价的:
const char* temp="abcde";
char* a=temp;
这会导致什么呢?const字符串是无法修改的!如果你将a传入某个函数中,那么函数是没法对原字符串做修改操作的,因此最后还是声明为数组:
char a[]="abcde"
万事大吉!
版权声明:本文为nerdcfl原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。