题解 | #复制部分字符串#

复制部分字符串

https://www.nowcoder.com/practice/8f5b923683b94e549880e3c8370e3e55

#include <stdio.h>
#include <string.h>
int main() {


    char str[30]={0};
   
    scanf("%s",str);
    int n=0;
    scanf("%d",&n);
    char *p=&str[n-1];
    for(int i=0;i<strlen(str)-n+1;i++)
    {
        printf("%c",*(p+i));//str指向h,h+6=o,因此h+(n-1)
    }
    return 0;

}

这个代码并不是我写的,拿出来解析一下。

char *p=&str[n-1];这里p的的开头指向第6个字母,即w;

for(int i=0;i<strlen(str)-n+1;i++)中的strlen(str)-n+1即10-6+1=5,

所以表现出来的情况是从w开始,+1,o,+1,r,+1,l,+1,d。

表现出来就是world

#c##复制部分字符串#
全部评论

相关推荐

评论
1
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务