为何没有显示返回值的
#include<stdio.h>insert(char *s,char *q,int n)
{
int i=0;
char *str,strcp;
str=strcp;
for(i=0;*s!='\0';i++)
{
if(i==n-1)
{
while(*q!='\0')
{
str=*q;
q++;
i++;
}
}
str=*s;
s++;
}
str='\0';
return str;
}
main()
{
char *strin,*str;
int i;
str="Hello world!";
strin="big";
printf("please input the position you want to insert:");
scanf("%d",&i);
str=insert(str,strin,i);
printf("\n%s\n",str);
}
能简单描述一下程序要实现神马功能吗?{:9_240:} 本帖最后由 ltldonkey 于 2014-12-7 22:35 编辑
insert返回值没定义,而且insert函数中,str指针指向strcp数组,strcp数组是局部变量,虽然用str返回了指针,但insert返回后,函数栈已经释放,所以str的指针无效
话说你这程序通不过编译吧
ltldonkey 发表于 2014-12-7 22:31
insert返回值没定义,而且insert函数中,str指针指向strcp数组,strcp数组是局部变量,虽然用str返回了指针 ...
谢了,,已经改好了
页:
[1]