C语言 fgets()函数

#include <stdio.h>
int main()
{
char *p;
p=fgets(p,5*sizeof(char),stdin);//fgets这里是怎么处理的?
printf("%s",p);
return 0;
}
这个是输入的字符过多的话,取前4个,再加个'\0'

第1个回答  2010-08-02
p=fgets(p,5*sizeof(char),stdin);在p开头的地址空间里写入 stdin,p是首字母地址,5*sizeof(char)是指分配的地址长度,stdin要写入的字符串。
第2个回答  2010-08-02
这个有错吧

#include <stdio.h>
int main()
{
char p;

p = (char*)malloc(8);
p=fgets(p,5*sizeof(char),stdin);//fgets这里是怎么处理的?
printf("%s",p);
return 0;
}

从标准输入获取5个字符存到p中,然后再输出本回答被提问者采纳
相似回答