为了账号安全,请及时绑定邮箱和手机立即绑定

求大神帮解决如图问题

求大神帮解决如图问题

C
荆轲王子 2016-07-23 03:37:38
如图2个问题;1:为何第一个人的姓名性别不显示汉字 2:输完第二个人的性别后按回车显示。exe停止工作。请知道的大神指路,不要靠猜的如:可能是。。应该是。。。要确实遇到过这个问题并能一针见血的解决,谢谢
查看完整描述

4 回答

已采纳
?
onemoo

TA贡献883条经验 获得超454个赞

你声明的 xm 只是一个char,而要保存的姓名是个字符串。应该将xm声明为字符数组: char xm[10];

而且,scanf向数组中存数据不需要将数组取地址再传入,这样就可以了:scanf("%s", xm);


查看完整回答
反对 回复 2016-07-23
  • 荆轲王子
    荆轲王子
    谢谢,char后面加上【】后有显示姓名,但输入同样的学号姓名性别,【】里的数字大小不一样的话,输出的也不一样,有时只显示姓名不显示性别,要不就是我学号填的168它显示56447393不相干的8位数,请问这个数字大小如何拿捏。 再有我用的vc2015写的,它提示必须scanf_s("%s",xm,10);这样写,不然就生成错误。
  • onemoo
    onemoo
    关于你说“[]内的数字问题”,我没看懂你的描述。 不过总的来说这数字比你要输入的字符长度长就可以了。 还有,存储性别最好别用char,因为一个汉字不是只占用一个char,如果你不使用wchar_t类型(宽字符型)的话,最好也要把性别存入一个char数组,这样至少能存入多个字节。
?
jfhdibrbfjd

TA贡献163条经验 获得超40个赞

不难得

查看完整回答
反对 回复 2016-07-23
?
KXFT

TA贡献113条经验 获得超58个赞

你把姓名和性别改成String类型试试

查看完整回答
反对 回复 2016-07-23
  • 荆轲王子
    荆轲王子
    改string后老是报错,说未定义标识符,我头文件也加了,不知哪的错
  • KXFT
    KXFT
    额,我的错,你这个是c语言不是c++,没有string字符串类型,你改成字符数组char str[]来做吧
  • 4 回答
  • 0 关注
  • 1570 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信