c语言中getchar不做字符输入时的问题

一直不太明白getchar()这个函数。只知道getchar是输入字符用的。。但是在这里看到了不懂得地方。#include<stdio.h>voidmain(){stru... 一直不太明白getchar()这个函数。
只知道getchar是输入字符用的。。但是在这里看到了不懂得地方。
#include<stdio.h>
void main()
{
struct /*定义一个结构体变量*/
{
char name[20];
int age;
char sex[4];
char depart[20];
float score1;
}Student;
float score;
int t=0;
char choic='Y';
while(choic=='Y'||choic=='y') /*判断是否继续循环*/
{
printf("Name:");
scanf("%s",Student.name); /*输入姓名*/
printf("Age:");
scanf("%d",&Student.age); /*输入年龄*/
printf("Sex:");
scanf("%s", Student.sex); /*输入性别*/
printf("Dept:"); /*输入系别*/
scanf("%s", Student.depart);
printf("Score1:"); /*输入成绩*/
scanf("%f", &Student.score1);
getchar(); 就是这里不懂。
t=t+1; 这里也很奇怪,一定要有语句的,随便定义下就可以了。但是没有的话,程序运行的时候循环一次就自动关闭了。还出现过runtime error。很奇怪
printf("Continue?<Y/N>");
choic=getchar(); 这里是字符数入,我知道
}
我把t=t+1;这里去掉后也可以运行了。但是有此我把这里的语句删除后一次循环后直接说系统关闭。。
getchar()去掉后是一次循环后退出了。
还有个疑问:我第一次编程的时候是出现的runtime error。这种情况是怎么出现的啊,查了语句也没错。
这是第二次编的。很奇怪。
展开
 我来答
碧血学生
2010-02-08 · TA获得超过1442个赞
知道小有建树答主
回答量:667
采纳率:0%
帮助的人:329万
展开全部
getchar(); 就是这里不懂。
这个是为了防止自动关闭,而设的。 getchar(); 的话又没有赋值给任何变量所以只会等待一个字符的输入因而不自动关闭。
getchar();
t=t+1;
这两个别写试试
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式