键盘是标准的输入设备,显示器是标准的输出设备,最近在做一个小题目时,遇到了一点小问题,程序如下
#include<stdio.h>
struct student
{
char name[100];
Char sex;
int age;
};
void Input(student *st)
{
printf("请输入姓名\n");
scanf("%s",&st->name);
printf("请输入年龄\n");
scanf("%d",&st->age);
printf("请输入性别\n");
scanf("%c",&st->sex);
//这个程序是一个非常简单程序,当然可能大神们会用getcha()函数来获取字符串,在红字部分,输出以及定义的都是没有错误的但是在运行的过程中,可以看到如下的结果
//这是因为在输入年龄12 以后,习惯的敲击回车键,导致了sex自动存取了回车的字符,可以通过printf(“%d”,st->sex)证明码值为10,所以千万别忽略了,键盘这个标准输入
}
void Output(student s)
{
printf("%s\n%d\n%d",s.name,s.sex,s.age);
}
int main()
{
student stu;
Input(&stu);
Output(stu);
return 0;
}
输入数据处理与键盘输入陷阱
本文探讨了一个简单的C语言程序中键盘输入处理的问题,特别关注于如何正确地从用户那里接收年龄、姓名和性别信息,并揭示了忽视键盘输入细节可能导致的错误。通过实例分析,强调了在编程实践中注意细节的重要性。
2624

被折叠的 条评论
为什么被折叠?



