c语言入门试验题,请问为什么交到acm上是wa?

要求:有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。

经过我的尝试:
1.字符串长度应该要在100以内,定义的数组长度为100时oj判runtime error
2.输出使用printf或puts都是wrong answer
3.平台会考虑gets的问题,我们暂时都是用gets或scanf输入字符串,但我不确定是否会输入空格所以用了gets

我自己在codeblocks上试的时候没发现什么问题,求大佬解答,谢谢。
#include<stdio.h>
void newChar(char a[],int n,char b[],int m);
int main()
{
	char a[80],b[80];
	int n,m;	
	scanf("%d",&n);//获得字符串长度n
	fflush(stdin);//清空键盘缓冲区
	gets(a);//获得字符串
	fflush(stdin);
	scanf("%d",&m);//获得m值
	newChar(a,n,b,m-1);
	printf("%s",b);//输出新的字符串
	return 0;
}

void newChar(char a[],int n,char b[],int m)
{
	int i,j,k;
	j=0;k=m;

	for(i=0;i<n-m;i++)	
	{
		b[j]=a[k];
		j++;k++;
	}
	b[j]=0;//末尾加上字符串结束标志
	
}
	




困难00
浏览 1099回答 0
0回答
打开App,查看更多内容
随时随地看视频慕课网APP