c语言数组

Unjuanable Boy 2018-11-03 05:26:03
请问为什么数组长度变成了11;最后多出来了三个莫名其妙的字符?
...全文
52 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
e调布鲁斯 2018-11-08
  • 打赏
  • 举报
回复
size of是计算长度的
cfy84 2018-11-08
  • 打赏
  • 举报
回复
a,b是数组名,使用scanf时不用加&, 因为在C语言中数组名就代表该数组的起始地址。代码如下
scanf("%s",a);
scanf("%s",b);
另外a,b,store的定义需要初始化0。
辶井 2018-11-07
  • 打赏
  • 举报
回复
数组最后一个元素之后要再加一个元素设为‘\0’,就是a[strlen(a)+1]='\0'
nowting_csdn 2018-11-06
  • 打赏
  • 举报
回复
记得使用\0结束符
云山大侠 2018-11-05
  • 打赏
  • 举报
回复
你应该养成一个好习惯,声明变量的时候同时初始化。strlen()是用来结算字符个数的,从第一个地址开始往后计数,遇到0('\0',NULL)结束结束。
英雄@末路 2018-11-05
  • 打赏
  • 举报
回复
a,b, store没有初始化,里面存随机数字 ,存字符串时候如果不是0(\0),会对你的字符串判断有影响。
用for循环上来先都初始化成0在用。
自信男孩 2018-11-03
  • 打赏
  • 举报
回复
应该是缺少'\0'导致的。在拷贝字符串时,注意一下字符串的结束标记'\0'
幻夢之葉 2018-11-03
  • 打赏
  • 举报
回复
记得使用\0结束符
赵4老师 2018-11-03
  • 打赏
  • 举报
回复
strlen不是用来计算数组长度的。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧