char a[2]="ab"在vc上编译会提示数组越界,在gcc上编译通过,且只占2字节; char a[]="ab",数组a占3字节,系统自动在‘b’后面加'\0', '\0'对应的ASCLL码是0,表示空字符。 转自我的搜狐博客