输出咋是null?求解答,用c语言解释一下,搜到有用指针的,还没学过看不懂
首先返回值类型错误,其次返回函数内局部变量也是错误的
改为用参数传递一个数组,用来接收截取的子串
void f(char a[], int m, int n,char b[])
{
int i, j;
i = m - 1;
j = 0;
while (i < n && j <= n - m)
{
b[j] = a[i];
i++;
j++;
}
}
int main()
{
char a[100],b[100] = {0};
int m, n;
gets(a);
scanf("%d", &m);
n = strlen(a);
if (n > m)
{
f(a,m,n,b);
printf("%s",b);
}
if (n == m)
{
printf(" ");
}
if (n < m)
{
printf("Data error!");
}
return 0;
}