关于scanf不能读入回车和空格

最近在OJ上编程时发现,scanf不能读入回车和空格两个字符,需要用getchar来读入,程序如下:

#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
    int n;
    char a,b;
    scanf("%d",&n);
    getchar();      //此处若是没有getchar,空格字符就赋给a
    for(int i=0;i<n;i++)
    {
        scanf("%c %c",&a,&b);
        getchar();     //
        printf("%c %c",a,b);
    }
    return 0;
} 

猜你喜欢

转载自blog.csdn.net/luoshiyong123/article/details/104784224