C语言如何使用scanf函数时忽略中间的空格?

输入:

4:45[space]PM

读取:

4:45PM

如何让scanf()忽略中间的空格读取后续的PM部分?

阅读 11.1k
2 个回答
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a, b;
    char c1, c2;
    scanf("%d:%d%*c%c%c", &a, &b, &c1, &c2);
    //或者scanf("%d:%d %c%c", &a, &b, &c1, &c2);
    printf("%d:%d%c%c", a, b, c1, c2);
    system("pause");
}

这是你想要的吗??

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a, b;
    char  c1, c2;
    scanf("%d:%d%*[ ]%c%c", &a, &b,&c1, &c2);
    printf("%d:%d%c%c", a, b, c1, c2);
    system("pause");
}

正确运行啊
clipboard.png

%*c 吃掉一个字符妥妥的