求救
#include<stdio.h>#include<string.h>
int main()
{
int m,n;
char a[50000][10000],b[50000][10000],c[50000][10000];
int i,j=0,k;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d ",&m);
scanf("%s",&a[j]);
k=strlen(a[j]);
strncpy(b[j],a[j],m);
strncpy(c[j],a[j],-(k-m));
strcat(c[j],b[j]);
printf("%s",c[j]);
j++;
}
}
请问这个为什么运行不了呢?
搜索更多相关的解决方案:
include
----------------解决方案--------------------------------------------------------
1,char a[50000][10000],b[50000][10000],c[50000][10000];定义数组太大,我台机无法运行(可能太烂了);只能改小;
2,for(i=0;i<n;i++)
scanf("%d ",&m);此句%d后面多了个空格符,输入数值后要加空格再ENTER;
3,strncpy(c[j],a[j],-(k-m)); 无法复制字符串结束符'\0'过去c[j];下面的语句将c[j]用作字符串,出错;
----------------解决方案--------------------------------------------------------