关于字符串程序的问题
编了一段从字符串 s 中获得子字符串(s[n1]到s[n2])的程序。 编译过程中发现warning:warning C4047: '=' : 'char *' differs in levels of indirection from 'const int '
运行时会出现错误。请教下高手,问题出在哪里?
注:不必帮忙改成其它形式的函数,例如改变形参或返回值,或者把指针改成数组啥的。我就是想知道下面这段程序的错误出在哪里~
谢谢啦~
程序代码:#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char *mysubstr(char *s, int n1, int n2)
{
int i = n1, j = 0;
char *str;
str = (char*)malloc(sizeof(char)*(n2-n1+2));
for(i=n1; i<=n2; i++)
{
str[j] = s[i];
j++;
}
return str;
}
main()
{
char str[]="abcdefghijklmn";
char *substr;
substr=(char*)malloc(30);
substr=(str, 3,8);
puts(substr);
return(0);
}










