收录日期:2020/06/02 12:07:51 时间: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’

关于System.out重定向到文件的问题 求高手一SQL语句,不知道能不能实现!! javascript中的onkeyup事件只有a,b,c,x,v五个按键可以触发,其余按键无效是怎么回事??? 关于vb与access数据库备份时出现\"数据库以排它的方式打开\"错误 急,用iframe调用htm问题,htm中含超链接。。。。100分 静态块问题 csdn怎么兑换c币在那里换呢 这样资助一个网友值得吗? 关于MessageBox的理解 内存分配困惑 java form build 客户端运行时出现ora-06508错误 令人发指!洛阳烈士墓被夷为平地 让位商业墓地!!!!!!! 离职手续办理的问题 年底五部大片的启示 第一步--创建背景并取得需求 关于windows2003 vpn部署故障 datawindow中CROSSTAB方式输出到EXCEL问题 用c++] 怎么能得到,电脑某一硬盘分区可用空间的大小呢? visual studio 2005 里的label控件的text属性怎么能输入中文进去啊?我这不行啊!!! 嫦娥卫星呢,咋没有消息了 关于RMI的问题! (续) 关于C 幂函数的问题,求解? 散分征求意见 非法xml语法? params关键字有什么`??我是初学的``大家帮下 怪事怪事!为什么用localhost访问本地网站登录不了,而用IP地址192.168.1.*和127.0.0.1却可以? Basepage类与.net2.0中母版页有什么区别?详解并修改这段代码.(分不够再加,只求彻底弄清此类问题.)BasePage主要用途,优点???资源利用问题??? 元旦要远行,去见未曾谋面的女友了, 大家给点意见. 兄弟们不要乱说哦~ 如何在action中使用绝对路径?在线等.......