问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言结构体赋值的问题,刚输入第一个name就提示出错

发布网友 发布时间:2022-04-23 12:51

我来回答

2个回答

热心网友 时间:2023-09-20 06:42

这里有两个问题需要注意:首先是stu.name是数组,因此赋值时不必再取地址,因为数组名就是首地址;同样,stu.sex,stu.age,stu.score是变量,所以需要去地址;因此代码应该为:

PR("name?");scanf("%s",stu.name);
PR("sex?");scanf("%c",&stu.sex);
PR("age?");scanf("%d",&stu.age);
PR("score?");scanf("%f",&stu.score);
但这时候编译执行,你会发现输入完name以后,没有让你输入sex,便直接让输入age了,这个问题原因为:
scanf是从标准输入缓冲区中读取输入的数据,而%c的字符输入格式会接收回车字符,在输入第一个scanf时输入一串字符后按 回车结束,输入缓冲中保存了这个回车符,遇到第二个scanf时,它自动把这个回车符赋给了ch2。所以相当于已经执行了scanf("%c",&stu.sex);输入的值是回车;而如果第二个scanf的输入格式不是%c时,由于格 式不匹配,这个回车符会被自动忽略;
解决办法:
1。清空输入缓冲区
第一个scanf后加入清空输入缓冲区函数:fflush(stdin);
代码变为:
PR("name?\n");scanf("%s",stu.name);fflush(stdin);
PR("sex?\n");scanf("%c",&stu.sex);
PR("age?\n");scanf("%d",&stu.age);
PR("score?\n");scanf("%f",&stu.score);
2。格式控制中加入空格
将第二个scanf改为:scanf(" %c",&stu.age);//在%号前面加一个空格,此时由于与回车不匹配秒就把回车忽略了
代码变为:
PR("name?\n");scanf("%s",stu.name);
PR("sex?\n");scanf(" %c",&stu.sex);
PR("age?\n");scanf("%d",&stu.age);
PR("score?\n");scanf("%f",&stu.score);
此时便可得到你想要的结果。

热心网友 时间:2023-09-20 06:43

亲,输入字符串前面不加取地址符&,其他都加取地址符&,你刚好给整反了追问谢谢我改过来了,但是我刚刚输入name就弹出了sex?age?

追答由于系统输入缓冲区的问题,你在scanf ("%c", &stu.sex);这句之前或者scanf ("%s", stu.name);这句之后加一个getchar();获得一个回车符,或者fflush(stdin);清空缓冲区就可以了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
沈阳有哪些家居商场 沈阳都有哪些家居城 沈阳市有多少个家具城 沈阳都有什么家具城 沈阳有多少家家俱商城 沈阳家具地方有哪些 沈阳有哪些大型家居 沈阳美凯龙有什么牌子 沈阳家居市场有哪些品牌 消食片饭前还是饭后吃 怎样快速光子祛斑? 中考语文难写字(尽量全) 光子祛斑几天恢复正常?光子祛斑的疗程是多少? C语言结构体赋值,为什么D是错的? 什么是光子祛斑? C语言用字符串直接给结构体赋值方法 高中语文字形练习题 C语言怎么给结构体里的结构体赋值? 结构体赋值是多少? 含‘洪、宏、鸿有关的成语或优美的词语 c语言中结构体赋值问题 快中考了,帮忙整理下初中三年语文 1.易读错字词的字音2.易写错的难写的字词 c程序 为结构体赋值 C语言结构体赋值问题 C语言 如何在结构体中给嵌套的结构体赋值? C语言,结构体中的数组怎么赋值,? C语言结构体赋值 C语言结构体赋值的问题? C语言 结构体的赋值 C语言中怎么给一个结构体用scanf进行赋值? 激光祛斑和光子祛斑哪个更好 C语言关于结构体赋值的问题,在线等 2007年颍上中考成绩情况一栏表 光子嫩肤可以祛斑吗? 光子祛斑和激光祛斑,有什么区别 怎样美容光子祛斑? 光子祛斑为什么要做5次? 光子祛斑与激光祛斑到底有什么区别 光子祛斑和激光祛斑的区别,看完还是别去了 光子祛斑后效果能维持多久 要做几次光子祛斑? 光子祛斑要注意什么? 光子祛斑有什么副作用吗? 光子祛斑会反弹吗 光子美白祛斑效果好吗? 做光子祛斑,做一次要多久,多久可以做一次,怎么办 甘草干姜汤的药物组成 甘草干姜汤的介绍 甘草干姜水作用与功效 甘草干姜汤的各家论述