为了账号安全,请及时绑定邮箱和手机立即绑定

scanf中%s输入字符串,不理解字符数组名+1的操作

scanf中%s输入字符串,不理解字符数组名+1的操作

慕虎7371278 2019-03-30 09:29:47
程序要求连续输入字符串,如:aabbccabvcsssadfacsfdsagsd看了别人的代码有些地方不理解while((scanf("%s%s",st1+1,st2+1)!=EOF){len1=strlen(st1+1);len2=strlen(st2+1);......}请问scanf中字符数组名+1的操做是扩充了字符数组吗?如果是那么扩充的内容是什么,代码中Len1和len2与原本st1,st2的长度有什么变化呢?
查看完整描述

2 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

个人觉得将+1全部去掉的结果是一样的吧,楼主把代码贴全,不知道上下文的话,不清楚为什么要加1.
对于str+1的意思是数组元素str[1]的地址。
                            
查看完整回答
反对 回复 2019-03-30
?
浮云间

TA贡献1829条经验 获得超4个赞

scanf("%s%s",st1+1,st2+1),不是从st1和st2首地址开始写,从数组下标是1的位置开始写。具体为什么数组不从头开始写,通过这些代码还不容易看出来。len1,len2还是输入字符串的长度
                            
查看完整回答
反对 回复 2019-03-30
  • 2 回答
  • 0 关注
  • 724 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信