将字符串存放在字符数组a中,通过指针,输出第m个位置开始n个字符。 第m个位置的地址为a+m-1.

编写程序。从键盘输入任意一个字符串s,完成截取字符串s中从第m个位置开始的n个字符(m和n任意输入)。

测试用例:

输入的字符串为Welcome to China! ,m的值为4,n的值为14

提示:将字符串存放在字符数组a中,通过指针,输出第m个位置开始n个字符。

第m个位置的地址为a+m-1.
别用C十十!!!

代码如下:

#include <stdio.h>
int main()
{
    char a[1000];
    int i,m,n;
    printf("输入的字符串为");
    gets(a); //读取字符串
    printf("m的值为");
    scanf("%d",&m);
    printf("n的值为");
    scanf("%d",&n);
    for (i=m-1;i<m+n-1 && *(a+i)!= '\0';i++)
    {
        putchar(*(a+i));
    }
    return 0;
}


 #include<stdio.h>
 #include<string.h>
 #define Max 40
 int main(){
     int m,n;
     char str[Max];
     char *p=str;
     gets(str);
     scanf("%d %d",&m,&n);
     for(int i=0;i<n;i++){
         printf("%c",*(p+m+i-1));
    }
     return 0;
 }

img