时间限制: 1 Sec 内存限制: 128 MB
提交: 4667 解决: 2107
[提交][状态][讨论版]
用指针实现:由键盘输入一串字符,从下标为m的字符开始,取出n个字符(m和n由键盘输入),形成一个新的字符串。
键盘输入一串字符。
从下标为m的字符开始,取出n个字符(m和n由键盘输入),形成一个新的字符串。
0123456 5 2
56
① 定义二个字符数组zfsour[100]、zfdest[100],zfsour存放原串,zfdest存放新串;
② 定义二个指针变量*pzfsour、*pzfdest; zfsour字符数组的首地址;
③ 从键盘输入取字符的开始位置m(即下标值)和要取的字符个数n;
④ 让指针变量pzfsour指向zfsour+m处,让pzfdest指向zfdest字符数组的首地址;
⑤ 通过n次循环,逐次赋值、移动指针,即将原串中的n个字符存到新串字符数组中。
#include int main() {char zfsour[100], zfdest[100];char* pzfsour = (char*)zfsour;char* pzfdest = NULL;scanf("%s", zfsour);int m, n;scanf("%d%d", &m, &n);pzfsour += m;pzfdest = pzfsour + n;int i = 0;for (pzfsour, i; pzfsour < pzfdest; pzfsour++,i++) {zfdest[i] = *pzfsour;}zfdest[i] = '\0';printf("%s\n",zfdest);return 0;
}