学习C语言后我以为我就可以永久的告别单引号了,哎学习还不到一周就碰到了C语言中用单引号的情况,着实一惊,
C语言学习之路(1)
。for(i=0;* (p+i)!='\0';i++)
* (q+i)=* (p+i);
* (q+i)='\0'
刚开始我用的是双引号
for(i=0;* (p+i)!="\0";i++)
* (q+i)=* (p+i);
* (q+i)="\0"
程序一运行,呵,蹦出个段错误,天哪,我学习C语言还不到一周就让我碰到了段错误,我这是造的什么孽啊,后来左思右想(看了看示例代码)是引号的原因,改成单引号就好了,
电脑资料
《C语言学习之路(1)》(https://www.unjs.com)。学到两点:
1、段错误简单理解,就是内存越界了。
2、我的程序之所以会内存越界是因为,双引号中的字符即所见即所表,“\0” 它就是\0,若是单引号,那‘\0’,表示的就是数组结束标志了。