当前位置: 代码迷 >> C语言 >> 求救
  详细解决方案

求救

热度:93   发布时间:2008-03-24 18:09:31.0
求救
#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]用作字符串,出错;
----------------解决方案--------------------------------------------------------
  相关解决方案