関数から文字配列を返したいと思います。それから私はmain
でそれを印刷したいと思います。文字配列をmain
に戻すにはどうしたらいいですか?Cの関数から文字配列を返す方法
#include<stdio.h>
#include<string.h>
int main()
{
int i=0,j=2;
char s[]="String";
char *test;
test=substring(i,j,*s);
printf("%s",test);
return 0;
}
char *substring(int i,int j,char *ch)
{
int m,n,k=0;
char *ch1;
ch1=(char*)malloc((j-i+1)*1);
n=j-i+1;
while(k<n)
{
ch1[k]=ch[i];
i++;k++;
}
return (char *)ch1;
}
私は間違っていると教えてください。
あなたはすべてのエラーを得るのですか前にそれを定義し使用されていないよう
m
を削除?? –あなたのコンパイラは 'test = substring(i、j、* s);と言っているはずですが、' s'を参照してはいけません。 –
エラーメッセージが表示されます: 'substring'の相反するタイプ – sayan