当前位置: > 华清远见教育科技集团 > 嵌入式学习 > 讲师博文 > 关于输入缓冲区回车对scanf的影响
关于输入缓冲区回车对scanf的影响
时间:2016-12-14作者:华清远见

写程序时,当需要在标准输入端输入信息时,scanf 经常被使用到,但是一些细节需要注意

代码 一

1. //---------------------------------------
        2. //验证输入缓冲区回车对scanf的影响
        3. //---------------------------------------
        4.
        5. #include <stdio.h>
        6.
        7. int main(void)
        8. {
        9.        char ch1, ch2;
        10.        char buf[6];
        11.        int a, b;
        12.
        13.        printf("(int )a :\n");
        14.        scanf("%d", &a); // 用户输入完后,遗留一个回车符
        15.
        16.        printf("(char )buf[]:\n");
        17.        scanf("%s", buf); // 试探回车符对读取 “字符串” 的影响,输入完后又产生一个回车符
        18.
        19.        printf("(char)ch1:\n");
        20.        scanf("%c", &ch1); // 试探回车符对读取 “字符” 的影响输入完后又产生一个回车符
        21.
        22.        printf("(int)b :\n");
        23.        scanf("%d", &b); //试探回车符对读取 “整数” 的影响输入完后又产生一个回车符
        24.
        25.        printf("(char)ch2 :\n");
        26.        scanf("%c", &ch2); //// 试探回车符对读取 “字符” 的影响输入完后又产生一个回车符
        27.
        28.
        29.        printf("a:%d", a);
        30.        printf("b:%d", b);
        31.        printf("ch1:%c", ch1);
        32.        printf("ch2:%c", ch2);
        33.        printf("buf:%s", buf);
        34.
        35.
        36.        return 0;
        37. }

发表评论
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)