关于c语言strcmp,字符串满时无法比较

char a[6],b[6];
如果两个都各输满6个相同字符,再用strcmp函数比对就会产生错误结果,而少于6个则能正常产生结果,为什么?

 字符串需要一个额外的单元存储结束符\\0
所以char a[6]最多只能装5个字符,如果装6个,那么数组越界,\\0会写入数组后面相邻的内存。

如果两个字符串是连着的,那么第二个字符串可能被破坏。
就像这个人遇到的问题一样
http://ask.csdn.net/questions/267950

不再赘述。

char a[6] 你只可以输入a[0]~a[5] ,最后一位是'/0'

可以用strncmp