若m超过输入字符串的长度,

来源:4-13 使用for循环打印9×9乘法表

慕尼黑1222164

2016-12-22 18:18

#include <stdio.h>      //超过字符串长度时则输出空串,我的程序编写哪里错了
#define MAXN 20

void strmcpy( char *t, int m, char *s );
void ReadString( char s[] ); /* 由裁判实现,略去不表 */

int main()
{
    char t[MAXN], s[MAXN];
    int m;

    scanf("%d\n", &m);
    ReadString(t);
    strmcpy( t, m, s );
    printf("%s\n", s);

    return 0;
}
void ReadString(char s[])
{
   char s[MAXN];
gets(s);
}
void strmcpy( char *t, int m, char *s )
{
int i,j;
char tem;
for (i=m;i<MAXN;i++,j++)
{
tem=t[i];
s[i]=tem;
}
s[i]='\0';
}

写回答 关注

1回答

  • 欧阳墨竹
    2016-12-23 14:53:57

    不懂你ReadString子函数要干嘛,不过子函数char s【MAXN】应该是不可以的,和char s【】重复定义了。改一下就好了。

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926020 学习 · 20793 问题

查看课程

相似问题