开发者社区 问答 正文

用scanf()接收字符串需要注意什么?

用scanf()接收字符串需要注意什么?

展开
收起
游客a6dwcf3rbwut2 2022-03-29 20:40:32 503 分享 版权
1 条回答
写回答
取消 提交回答
  • 1.除了%c,对于其他的所有格式说明符,scanf()会跳过所有空白字符(包括空格、制表符、换行符)。

    2、非格式字符的对应问题

    也就是你写的是scanf("%d,%d,%c",&a,&b,&c);那你运行输入时就需要以8,67,A(举个例子)的形式输入,否则就会出现错误。这里说一句,当没有非格式字符时,也就是说写的是scanf("%d%d%c",&a,&b,&c);如果没有%c还行,你可以在输入时用间隔符来间隔;可如果有%c的话,如例子,你的间隔符就会作为字符给了c,显示的时候就会显示两个数字加上一个空格、换行等效果了。

    3、scanf()执行时的换行符问题

    在scanf()执行时,输入完数据后需要按一下回车键,一般情况下这个回车键对结果并无影响,但是当出现多句scanf()且非第一句是输入字符的,就会出现问题。

    2022-03-29 20:44:39
    赞同 展开评论
问答地址: