如果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));
}
答案 0 :(得分:0)
您需要初始化C
字符变量:
char C = 'C';
strcat
函数连接2个字符串参数&amp;返回一个字符串,其长度等于2个字符串长度的总和。因此,您需要在string1 + string2
函数中声明一个大小为cat
长度的新数组,该数组将保存连接结果。然后return
长度。