求问大神,为什么我写如下代码,然后输入时输入一个6个字幕的name,结果还是能显示出来。
不是应该越界了然后出错吗。
求解释下。
代码如下:
int main(){
char name[5];
cin>>name;
cout<<strlen(name);
cout<<endl;
cout<<name[5];
system("PAUSE");
return 0;
}
内存大小凑整的意思是不是一int为单位凑整啊?比如一个int是4个字节,然后中间输入了一个char占一个字节。这个时候凑整就会给char凑出3个字节的空间?
追答不一定, 和操作系统的内存管理有关系