sizeof和strlen的区别
首先它们都可以计算字符数组的长度
区别1:是sizeof计算了 \0 的长度,strlen只计算 \0 之前的长度
区别2:sizeof可以计算整形数组的长度,而strlen只能计算字符数组的长度
注意:sizeof(数组名)计算出的结果是 字节大小*元素个数
如上图sizeof输出结果是12=3(个数)*4(大小)
区别3:sizeof是一个运算符,而strlen是一个库函数,strlen只认\0,没有\0就不会停止。如图:
strlen输出的是随机值,因为没有找到\0。
值得注意的是: char arr2[] = { 'a','b','c','d','e' } char arr1[] = "abcde";两种不同的定义数组的方式,前者没有\0,而后者有
鲨鱼吃橘子: 加油博主,期待你的下次作品
鲨鱼吃橘子: 加油博主,期待你的下次作品
CSDN-Ada助手: Java 技能树或许可以帮到你:https://edu.csdn.net/skill/java?utm_source=AI_act_java
山穷水尽也有路: 解决办法,不要在scanf函数的格式化字符串中包含\n和空格 ,否则会一直进行匹配,除非遇到非空字符。