读书人

关于getchar();的有关问题

发布时间: 2012-02-23 22:01:36 作者: rapoo

关于getchar();的问题!
帮忙看看下面的程序,目的是读入10个职工的姓名和职工号,为什么程序这样写有在输入的时候会有问题(敲入姓名的时候如果有空格,就有问题了!)

#include <stdio.h>
main()
{
void input(int num[10],char name[10][20]);
int num[10];char name[10][20];
input(num,name);
}

void input(int num[10],char name[10][20])
{
int i;
for(i=0;i <10;i++)
{
printf( "请输入第%d个职工号: ",i+1);
scanf( "%d ",&num[i]);
printf( "请其姓名: ");/*--------2-------*/
gets(name[i]);或scanf( "%s ",&name[i]);/*-------1------*/
}
}
但是在2语句和1语句中间加入一句getchar();就可以正确输入.
请问这是为什么?

[解决办法]
因为默认以空格为结束符的。

读书人网 >C++

热点推荐