z402375830 发表于 2018-8-26 11:38:39

关于Linux上C编程中strlen()函数的诡异现象

我不清楚是版本问题还是其他问题,我的环境是按照小甲鱼《带你学C带你飞》系列教程搭建的。

请各位大神看图, 一图 二图 为问题图, 可三图,四图却奇迹般的解决了。。。。。。

{:10_277:} 百思不得姐。

claws0n 发表于 2018-8-26 11:46:49

刚好而已吧,最后一个应该要 0,a = 0;

无符号整形 发表于 2018-8-26 11:47:51

1.因为没有字符串结束符'\0',访问到了其他的数据,其他的数据里面可能包含0这个数字,0在ascii码里面就是'\0'
2.因为可能i在栈中的储存正好在a后面,i的值0被当成了'\0'

龘老师 发表于 2018-8-26 12:11:32

定义的i放在a前面,a要6个单位,a【4】这个位置了面本来存的是0
页: [1]
查看完整版本: 关于Linux上C编程中strlen()函数的诡异现象