关于使用printf来输入

img

img


为什么scanf("%s,a.ID");的时候直接跳过性别呢 吧scanf("%s,a.ID");改成gets(a.ID); 却能够正常输入 这是为什么呢 求解答
运行环境是VC++6.0

scanf("%c,&a.sex")接受单字符的时候,把回车符当作一个字符对待的,你输入id的时候的回车符是放在缓冲区的,第二次调用scanf("%c,&a.sex")就把这个回车符当作一个字符了。
你改成这样会丢到这个回车符的
scanf(" %c,&a.sex")

因为a.ID这是个地址,不需要再加取址符&
scanf("%s",a.ID)