C语言的题目2

来源:百度知道 编辑:UC知道 时间:2024/09/21 02:35:03
题:有一字符串,包括n个(自己可以任意决定)字符,将此字符串从第m个字符开始的L个长度复制成为另一个字符串
请写出过程 用指针做 要求m和L是在运行时人为输入的并且当出现输入的数字太大(如n为10 而m你输入了11)会跳出错误提示
声明:出现错误提示时 不能使程序结束 要继续提示你重新输入 直到满足条件再进行下一步
请大家确定了正确的再写来!!!

#include<stdio.h>
#include<string.h>

int main()
{
char a[100],b[100];
int m,l;

gets(a);
scanf("%d%d",&m,&l);
if(m+l>strlen(a))
{
puts("error");
}
else
{
strncpy(b,a+m,l);
puts(b);
}
return 0;
}

sorry,I don't no.

#include <stdio.h>
#include <malloc.h>
#include <string.h>

int main()
{
char *szSrc, *szDes, szLength[10] = {0};
int nN, nM, nL;

puts("Input N :");
if ( 1 != scanf("%d", &nN ) )
{
puts("Error N");
return 1;
}
fflush( stdin );
szSrc = (char*)malloc( nN + 1 );

szLength[0] = '%';
sprintf( szLength + 1 , "%d", nN );
szLength[ strlen(szLength) ] = 's';
puts( "Input source string :");
memset( szSrc, 0, nN + 1 );
s