御笔剑客 发表于 2018-9-20 22:25:02

关于scanf跳过输入的问题

#include <bits/stdc++.h>
using namespace std;
int main()
{
    char s1,s2;
    scanf("%s.%s",s1,s2);
    cout<<s1<<" "<<s2<<endl;

    return 0;
}


为什么输入1.234,不能跳过点号分别读取两段呢?

claws0n 发表于 2018-9-20 23:26:14

本帖最后由 claws0n 于 2018-9-20 23:55 编辑

字符串只认回车吧?缓冲区不会被清出来。%c 试试?
补:scanf 本身需要回车才会清缓冲
strcpy 了?

qq1242009750 发表于 2018-9-21 00:24:21

换成逗号试试

geralyn 发表于 2018-9-23 11:23:35

先读入字符串,从键盘缓冲区中读取的时候认为1.234是字符串,
页: [1]
查看完整版本: 关于scanf跳过输入的问题