养肉狗苗赚钱吗:请为我讲解这条程序的问题。

来源:百度文库 编辑:高校问答 时间:2024/04/30 00:31:50
为什么运行这句puts("Input Age:");这后,我输入一个整型数,程序会自动跳到打印了。为什么?我还有一个地址未输入?请各位教教小弟。

#include "stdio.h"
#include "conio.h"

main()
{
struct studen
{char stname[30];
char stsex[10];
int stage;
char stadd[30];}stsave;
puts("Input Nmae:"); gets(stsave.stname);
puts("Input Sex:"); gets(stsave.stsex);
puts("Input Age:"); scanf("%d",&stsave.stage);

puts("Input Address:"); gets(stsave.stadd);
puts("_________________________________");
printf("Studen name : %s \n",stsave.stname);
printf("studen sex : %s \n",stsave.stsex);
printf("studen old : %d \n",stsave.stage);
printf("studen address : %s \n",stsave.stadd);
getch();
}

不知道什么原因,但是改成以下就好了:
struct studen
{
char stname[30];
char stsex[10];
char stadd[30];
int stage;
}stsave;
puts("Input Nmae:"); gets(stsave.stname);
puts("Input Sex:"); gets(stsave.stsex);
puts("Input Address:"); gets(stsave.stadd);
puts("Input Age:"); scanf("%d",&stsave.stage);