求助!!各位大哥帮我看看这个小程序是怎么回事^_^
先谢谢大家!!
/* write a program allow user input information
about salary and age,then dispay information to screen*/
#include <stdio.h>
main ()
{
// declare variable dSalary cName[] and iAge with memory data
// declare variable cWhether decide display or not
int iAge;
double dSalary;
char cWhether;
char cName[10];
// tell user enter information and memory in variable
printf ( "Please enter userinfo employee name, salary and age: " );
printf ( "\n Employee Name: " );
scanf ( "%s", &cName );
printf ( "\n Age: " );
scanf ( "%d", &iAge );
printf ( "\n Salary: " );
scanf ( "%lf", &dSalary );
// ask user dispay userinfo or not
printf ( "Do you want to see userinfo? [Y/N]..." );
cWhether = getchar ();
// check whether display userinfo
if ( cWhether == 'Y' || cWhether == 'y' )
{
printf ( "\n Userinfo is Employee Name: %s ", cName );
printf ( "\n Age: %d ", iAge );
printf ( "\n Salary: %lf ", dSalary );
}
else
if ( cWhether == 'N' || cWhether == 'n' )
printf ( "\n Bye Bye!" );
else
printf ( "\n There are some error!" );
}
不明白怎么回事,getchar()函数好像搁在那没什么用,是为什么?
问题点数:20、回复次数:6Top
1 楼arrowcy(长弓手)回复于 2005-04-09 17:42:06 得分 10
一个getchar不够,应为前面输入数据以后留下了一个\n在缓冲区中Top
2 楼arrowcy(长弓手)回复于 2005-04-09 17:42:37 得分 10
写两个getchar应该就没问题了Top
3 楼wwwdufei(浪狼)回复于 2005-04-09 20:11:19 得分 0
谢谢俩位
^_^Top
4 楼wwwdufei(浪狼)回复于 2005-04-09 20:11:57 得分 0
呵呵Top
5 楼arrowcy(长弓手)回复于 2005-04-09 22:39:32 得分 0
:)Top
6 楼arrowcy(长弓手)回复于 2005-04-11 13:09:03 得分 0
第一个getchar()就是接受那个回车键,第二个getchar才是真正的接受输入的字符Top




