C语言gets函数怎么回事
#include<stdio.h>#include<string.h>#include<stdlib.h>#defineBOOKS4#defineBORROWERS10s...
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define BOOKS 4
#define BORROWERS 10
struct book
{
int number;
char title[40];
int stock;
char bnam[BORROWERS][20];
int bnum[BORROWERS];
char bsex[BORROWERS];
char bcla[BORROWERS][20];
}book[BOOKS];
struct borrow
{
char name[20];
int number;
char sex;
char cla[20];
}borrow[BORROWERS];
void main()
{
FILE *fp;
int i;
printf("Input the information of the books:\n");
for(i=0;i<BOOKS;i++)
{
printf("Book(%d)\n\tnumber:\t%d\n\ttitle:\t",i+1,i+1);
gets(book[i].title);//这个地方只有当i=0是可输入,以后都直接跳过去了,这是为什么
printf("\tstock:\t");
scanf("%d",&book[i].stock);
}
for(i=0;i<BOOKS;i++)
{
printf("BOOK(%d)\n\tnumber:\t%d\n\ttitle:\t%s\n\tstock:\t%d\n",i+1,i+1,book[i].title,book[i].stock);
}
} 展开
#include<string.h>
#include<stdlib.h>
#define BOOKS 4
#define BORROWERS 10
struct book
{
int number;
char title[40];
int stock;
char bnam[BORROWERS][20];
int bnum[BORROWERS];
char bsex[BORROWERS];
char bcla[BORROWERS][20];
}book[BOOKS];
struct borrow
{
char name[20];
int number;
char sex;
char cla[20];
}borrow[BORROWERS];
void main()
{
FILE *fp;
int i;
printf("Input the information of the books:\n");
for(i=0;i<BOOKS;i++)
{
printf("Book(%d)\n\tnumber:\t%d\n\ttitle:\t",i+1,i+1);
gets(book[i].title);//这个地方只有当i=0是可输入,以后都直接跳过去了,这是为什么
printf("\tstock:\t");
scanf("%d",&book[i].stock);
}
for(i=0;i<BOOKS;i++)
{
printf("BOOK(%d)\n\tnumber:\t%d\n\ttitle:\t%s\n\tstock:\t%d\n",i+1,i+1,book[i].title,book[i].stock);
}
} 展开
5个回答
展开全部
for(i=0;i<BOOKS;i++)
{
printf("Book(%d)\n\tnumber:\t%d\n\ttitle:\t",i+1,i+1);
gets(book[i].title);//这个地方只有当i=0是可输入,以后都直接跳过去了,这是为什么
printf("\tstock:\t");
scanf("%d",&book[i].stock); //这里输完的时候你按的回车,在下次循环的时候被gets读进去了
getchar(); //可以在这里加个函数来把回车用掉,下次循环就正常了
}
{
printf("Book(%d)\n\tnumber:\t%d\n\ttitle:\t",i+1,i+1);
gets(book[i].title);//这个地方只有当i=0是可输入,以后都直接跳过去了,这是为什么
printf("\tstock:\t");
scanf("%d",&book[i].stock); //这里输完的时候你按的回车,在下次循环的时候被gets读进去了
getchar(); //可以在这里加个函数来把回车用掉,下次循环就正常了
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
gets(book[i].title); 从标准输入 读入 一行 字符串,包括空白,行结束回车。
如果缓冲区有残留的行,则读入 残留行: 字符串,包括空白,行结束回车。
如果缓冲区有残留的行,则读入 残留行: 字符串,包括空白,行结束回车。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不想看,打酱油
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询