次のメソッドが機能しない理由がわかりません。メイン メソッドの printf 関数が部分文字列 "love" を出力しません。関数内に char* を割り当てて、戻り値で返すだけです。
#include<stdio.h>
#include<stdlib.h>
char *sub_str(char* str,int start,int end) {
//return substring from pos start to end(included)
char *a=str;
char *s=(char*)malloc((end-start+1)*sizeof(char));
for(int i=0;i<start;i++)
a++;
for(int i=start;i<=end;i++){
*s++=*a++;
}
return s;
}
int main() {
char *str="I love apples";
char *c=sub_str(str,2,5);
printf("%s",c);
}