这段小程序中的*p=0有什么作用啊?

来源:百度知道 编辑:UC知道 时间:2024/05/22 12:47:33
int readdat(void)
{
FILE *fp;
fp=fopen("in5,dat","r");
int i=0;
char *p;
if((fp==NULL) return 1;
while(fgets(xx[i],80,fp)!=NULL)
{
p=strchr(xx[i],'\n');
if(p) *p=0;
i++;
}
哪位大侠帮一下忙谢谢咯

p=strchr(xx[i],'\n');//表示在xx这个数组里查找换行符第一次出现的位置,找到则把第一次出现换行符的内存地址赋值给指针变量p;如果没找到换行符则返回NULL给p,也就是空指针。

if(p) *p=0; //如果返回不是空指针,则赋值为空指针。

这两条语句的功能就是把换行去除而已。