一个C++问题求分析

[复制链接]
查看11 | 回复3 | 2013-10-8 19:13:13 | 显示全部楼层 |阅读模式
楼主,那个函数是输出字符串长度用的,输出之所以是因为29,是因为你的acNew数组开在main函数里面,所以数组的值并不会初始化为0,而是一堆随机错乱的数据,在C++里面,字符串的长度是,你给它一个字符指针,然后从这个指针的位置一直往后遇到第一个字符为'\0'的字符作为当前的字符串,长度就是从指针位置到'\0'之间的距离。因为acNew的数据是随机的,而且你没有认为的赋值'\0',所以很大可能在acNew往后29位才遇到一个'\0',所以字符串长度为29。...
回复

使用道具 举报

千问 | 2013-10-8 19:13:13 | 显示全部楼层
把char acNew[20];放到int main() 外面就行了#includeusing namespace std;char acNew[20]; int main()...因为在int main 函数里的变量不为空,所以答案不正确。放到外面就是全局变量,自动清零,所以检测的时候没有数值,就不会加入答案...
回复

使用道具 举报

千问 | 2013-10-8 19:13:13 | 显示全部楼层
应该是一个未知数才对,你的字符数组没有结束标志...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行