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。这种情况是怎么出现的啊,查了语句也没错。
这是第二次编的。很奇怪。 展开
只知道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。这种情况是怎么出现的啊,查了语句也没错。
这是第二次编的。很奇怪。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |