c语言,这个函数里的定义x和gets(x)是什么意思

int Input(Person per[],int n) //添加记录函数
{
inti=0;
charsign,x[10];
while(sign!='n'&&sign!='N')
{
printf("\t编号:");
scanf("\t%d",&per[n+i].score);
printf("\t姓名:");
scanf("\t%s",per[n+i].name);
printf("\t年龄:");
scanf("\t%s",per[n+i].age);
printf("\t电话号码:");
scanf("\t%s",per[n+i].num);
printf("\t通讯住址:");
scanf("\t%s",per[n+i].adds);
printf("\t电子邮箱:");
scanf("\t%s",per[n+i].email);

gets(x);
printf("\n\t是否继续添加?(Y/N)");
scanf("\t%c",&sign);
i++;
}
return(n+i);
}

int Input(Person per[],int n) //添加记录函数
{
inti=0;
char sign,x[10];//表示类型为char的数组X,他有十个char (字符)型的存放空间,可以存放十个字符!
while(sign!='n'&&sign!='N')
{
printf("\t编号:");
scanf("\t%d",&per[n+i].score);
printf("\t姓名:");
scanf("\t%s",per[n+i].name);
printf("\t年龄:");
scanf("\t%s",per[n+i].age);
printf("\t电话号码:");
scanf("\t%s",per[n+i].num);
printf("\t通讯住址:");
scanf("\t%s",per[n+i].adds);
printf("\t电子邮箱:");
scanf("\t%s",per[n+i].email);

gets(x); // gets(X)表示输入函数,相当于scanf("%s",x);表示输入字符串,是库函数里面的函数,在本题中,由于数组限制,只能输入10个有效字符
printf("\n\t是否继续添加?(Y/N)");
scanf("\t%c",&sign);
i++;
}
return(n+i);

}
不懂就问哈。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-01
gets(char *x);功能是得到一个字符串 并把该数组保存到 以x所指向的内存空间
这里charsign,x[10]; 应该是char sign,x[10];有空格
x【10】是个字符数组
x就是这个数组的起始地址本回答被网友采纳
第2个回答  2013-06-01
gets(s)函数与scanf("%s",s)相似,但不完全相同,使用scanf("%s",s) 函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止。

这里目测是清理输入缓冲区,呵呵,不是很确定。
第3个回答  2013-06-01
gets(x)---读取一个字符串。
函数功能:函数gets接受用户从键盘输入的一个字符串并存放到x指向的字符数组中。
第4个回答  2013-06-01
定义的x为一个一位数组,gets(x)是将一串字符串赋值给x

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网