根据输入的数字,扩展给定的字符串

时间:2015-10-25 19:21:12

标签: c string

如果N是正数,则使用字符C为N个位置扩展给定字符串S.使用函数完成它并在main函数中检查函数是否有效。任何N的值都会给我“它不起作用”。

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

int cat(char*,char,int);
int main()
{
    char S[20],C;
    int N;
    puts("Enter N: ");
    scanf("%d",&N);
    puts("Enter string: ");
    gets(S);
    if (N<1)
        printf("it's unknown whether it works");
    else if(cat(S,C,N)==strlen(S)+N)
            printf("it works.");
    else
        printf("it doesn't work.");
}
int cat(char*S,char C,int N){
int i;
char T[20];
for(i=0;i<N;i++)
    T[i]=C;
return strlen(strcat(S,T));
}

1 个答案:

答案 0 :(得分:0)

  1. 您需要初始化C字符变量:

    char C = 'C';
    
  2. strcat函数连接2个字符串参数&amp;返回一个字符串,其长度等于2个字符串长度的总和。因此,您需要在string1 + string2函数中声明一个大小为cat长度的新数组,该数组将保存连接结果。然后return长度。