时间限制: 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;
- }