2 augustinshi augustinshi 于 2016.03.20 16:24 提问

C语言新手入门,求各位大神顺手解决(

char *get_input();
int main()
{
char *ceshi;
ceshi=get_input();
puts(ceshi);
return 0;
}
char*get_input()
{
int i=1;
char str[MAX];
char*s;
str[0]='$';
while((str[i]=getchar())!='='&&i<(MAX-1))
i++;
if (i==(MAX-1))
puts("ERROR!!! TOO LONG!"),exit(1);
str[i+1]='\0';
return str;
}//是指针的问题么。。。为什么我在get_input()里加puts(str)的话就可以

2个回答

bealing
bealing   Rxr 2016.03.20 16:36
已采纳

char str[MAX];是局部变量,字符串不能通过这种方式带出,函数执行完,str就被系统回收了

augustinshi
augustinshi 谢谢(痛哭流涕)T-T
一年多之前 回复
bealing
bealing 传指针类型的参数就可以
一年多之前 回复
augustinshi
augustinshi 一般要怎么解决?。。。在最外面声明char str[]?
一年多之前 回复
augustinshi
augustinshi ⊙▽⊙谢谢
一年多之前 回复
augustinshi
augustinshi   2016.03.20 16:26

main函数puts出来是乱码。。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!