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

输入:

4:45[space]PM

读取:

4:45PM

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

阅读 10.8k
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 吃掉一个字符妥妥的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏