augustinshi 2016-03-20 08:24 采纳率: 100%
浏览 1462
已采纳

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条回答 默认 最新

  • xSeeker~ 2016-03-20 08:36
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥20 jupyter保存图像功能的实现
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键