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

程序要求连续输入字符串,如:
aabbccabvc
sssadfa
csfdsagsd
看了别人的代码有些地方不理解
while((scanf("%s%s",st1+1,st2+1)!=EOF)
{
len1=strlen(st1+1);
len2=strlen(st2+1);
......
}
请问scanf中字符数组名+1的操做是扩充了字符数组吗?如果是那么扩充的内容是什么,代码中Len1和len2与原本st1,st2的长度有什么变化呢?
慕虎7371278
浏览 725回答 2
2回答

aluckdog

个人觉得将+1全部去掉的结果是一样的吧,楼主把代码贴全,不知道上下文的话,不清楚为什么要加1.对于str+1的意思是数组元素str[1]的地址。

浮云间

scanf("%s%s",st1+1,st2+1),不是从st1和st2首地址开始写,从数组下标是1的位置开始写。具体为什么数组不从头开始写,通过这些代码还不容易看出来。len1,len2还是输入字符串的长度
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript