首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于getchar();的有关问题

2012-02-23 
关于getchar()的问题!帮忙看看下面的程序,目的是读入10个职工的姓名和职工号,为什么程序这样写有在输入的

关于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();就可以正确输入.
请问这是为什么?

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

热点排行