0
点赞
收藏
分享

微信扫一扫

C语言学习记录(四)

天行五煞 2023-09-21 阅读 53

scanf函数

#include <stdio.h>

void singleio();
void multipleio();

int main()
{
    singleio();
    // 情况标准输入缓存区
    fflush(stdin);
    printf("\n============\n");
    multipleio();
    return 0;
}

void multipleio()
{
    int i, ret;
    char c;
    float f;
    // scanf 函数在读取整型数、浮点数、字符串时会忽略\n’(回车符)、空格符等字符 (忽略是指 scanf 函数执行时会首先删除这些字符,然后再阻塞)
    // scanf 函数匹配一个字符时,会在缓冲区删除对应的字符
    ret = scanf("%d %c%f", &i, &c, &f); // ret是指scanf匹配成功的个数
    printf("i=%d,c=%c,f=%5.2f\n", i, c, f);
    printf("匹配成功个数:%d\n", ret);
}

// scanf用来读取标准输入,scanf把标准输入内的内容,需要放到某个变量空间里,因此变量必须取地址
// scanf会阻塞,是因为标准输入缓冲区是空的
void singleio()
{
    int i = 10;
    char c;
    // 把标准缓冲区中的整型数读走了
    scanf("%d", &i); // 需要用&取到变量i的地址
    printf("%d\n", i);

    // 情况标准输入缓存区
    fflush(stdin);

    scanf("%c", &c);
    printf("c = %c", c);
}

举报

相关推荐

0 条评论