收录日期:2019/07/17 12:56:48 时间:2016/07/18 00:23:02 标签:C语言

#include <stdio.h>

int main(void)
{
char *p;

p=(char *)malloc(sizeof(char));

int count=1;

while((p[count-1]=getchar())!=EOF&&p[count-1]!='\n')
p=(char *)realloc(p,++count);


puts(p);
return 0;
}


这样书写是否有什么错误?

这样的话,系统是否会自动在字符串后面加'\0',还是必须在后面加一句p[count-1]='\0'这句呢
char *p;
自动加的
需加p[count-1]='\0'
内存泄露了啊!!
引用 3 楼 asimay 的回复:
内存泄露了啊!!


LS观点不一致啊,有高手给个答案好吗

还有内存泄露怎么说?
就是内存泄露,光有分配没有free
引用 5 楼 thefirstz 的回复:
就是内存泄露,光有分配没有free


恩,谢谢,老是忘这句free(),下次一定谨记

再请问:

系统是否会自动在字符串后面加'\0',还是必须在后面加一句p[count-1]='\0'?
 需要自己加!
 型如:char *p="hello,world!";
     这种的系统才会隐式得在字符串最后加 '\0'

puts(p);
这个函数要注意:puts将一个以null符终止的字符串写到标准输出,终止符不写出,最后puts又将一个换行符写到标准输出
注意在写puts函数前,自己在字符串末尾加上终止符‘\0’

csdn上面的博客,只能复制粘贴吗?不可以一键转载吗? 现在的开源cms,在php中发送邮件,一般都用什么类呢? 我第一次时很紧张,他一直要我温柔地放松,接着插入我身体,那里在流血,我痛得喊不出话来, 北京的兄弟们,,可以经常一起打打DOTA,喝点闷酒.. radiobuttonlist 添加dropdownlist 有没有设计出自动改扣扣签名的软件 是酱紫的。。。。。。。。。。。。。。(进来都有分赚) radio怎样用空格键切换选择/取消选择 为什么客户的需求总是这么变态呢 关于sql的问题 asp.net或js或jQ读取剪贴板内容 document.form1.action=\"\" 疑问 在WebSphere7下不识别JSF标签 c#中如何实现表格式录入?增减行? 求方法重构网站代码 一般情况下,逻辑上的外键加索引,可以大大优化join和in还有where查询吗? DSP的通过EMIF扩展运用DMA来做数据采集的问题 水晶报表从来没做过,给我看下 GC绘图技术,急!!!!!!!!! hibernet.net 如何彻底删除存储介质中已经删除文件 请教一Excel数据导入到数据库中去! MySQL有中国官方下载处吗 一个查询的问题,立即解决,立即给分 asp.net QueryString问题? 推荐贴和版块推荐图片怎么调用啊??急急 SetForegroundWindow的作用怎么理解? 【散分,例行公事】 北京3.6k,大家帮我参谋下。 java与二进制流的问题