Nwafu-OJ-1431 Problem b C语言实习题五——6.用指针实现子字符串提取

问题 : C语言实习题五——6.用指针实现子字符串提取

时间限制: 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 <stdio.h>

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;
}

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值