C++学习笔记

1.对于int[]数组
sizeof(arr)=4*元素数量
猜测:可能与int型占4个位有关
若:将sizeof(arr)用于int型数组的遍历输出
则:前n项会输出正确的元素值,后(4*n-n)项(没有实际值的存储位)会输出随机值,但不会中断程序的运行,也不会报数组越界的错。
若:用for each语句遍历,采用类似C#的手法输出。
则:只会输出正确的有效项。

2.对于char[]数组,有一种特殊的函数
strlen(arr)=元素数量+?;
猜测:n的不定性很大,可能受数字,中英文字符,中文字符的单引号/双引号的使用影响。
可以确定它将字符串结束符‘\0’也纳入了长度统计。
若:用strlen(arr)遍历char[]数组元素
则:会正确输出前n个字符,但后续输出“空”,因此不能将strlen(arr)当作常用遍历方式
若:采用sizeof(arr)遍历字符数组
则:中文字符‘呀’和双引号“啊”,居然有些算作1(单引中文)或3(双引中文)单位,以前学习到记得统一都是2单位,原因未知。
但是输出结果中只有数字和英文,中文字符‘啊’由于未知原因被吞了。
若:用for each遍历输出char[]
则:可行,但中文字符‘呀’和双引号“啊”,依旧被吞。
在:cout输出中,‘呀’显示为53693,而双引“啊”正确显示为啊

3.关于C++中的foreach语法糖语句测试<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值