纯阳初级弟子C
2021-10-23 23:22
采纳率: 100%
浏览 40

[c语言入门]scanf中加不加空格

今天在做题时,遇到了scanf中既有数字又有字符的情况,中间没加空格,结果运行时不对,加了空格后就对了,这是个啥情况?
感谢大佬!!!

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 已采纳

    scanf中既有数字又有字符的情况,中间加空格,是以空格为分隔数字和字符,
    如 scanf("%d %c",&n,&c); 你输入时是:123 a
    123和a之间有一个空格。 在读取了123之后就要跳过一个空格再读取空格之后的a给c变量。
    如果中间不加空格, scanf("%d%c",&n,&c); 你还是输入:123 a
    在读取了123之后就继续读取123之后的空格给c变量。而不是读取a了。
    这时你应该输入:123a
    123和a之间没有空格才能读取123之后的a。
    如有帮助,望采纳!谢谢!

    评论
    解决 无用
    打赏 举报
  • 查看更多回答(1条)

相关推荐 更多相似问题