str3 为什么只打印 9个a 不是有25个a 前面占用了6个 那不是还有19个a 19个a不是也把str3【10】占用了
也就是说 str【9】 本来应该是 ‘\0’ 也被占用了 为什么只打印 9个a
也就是说 str【9】 本来应该是 ‘\0’ 也被占用了 为什么只打印 9个a
2016-10-06
前面说错了~~~~~
输入25个a,str也是25个a,如下图:
下图中可以知道,str的在栈中地址是0x7fffffffde00。
当输入25个'a'时,内存中从0x7fffffffde00开始到0x7fffffffde18的25个内存单元中保存的都是输入的'a',在0x7fffffffde19保存的是'\0'。所以输出str时会输出25个'a';
而str3在内存中的地址应该是0x7fffffffde10,由于从0x7fffffffde10到0x7fffffffde18保存了9个'a',在0x7fffffffde19保存的是'\0',所以输出str3时是从str3的地址0x7fffffffde10开始,就只有9个'a'了。
举报