您的位置:首页 > 编程语言 > C语言/C++

c语言常见错误1

2016-09-18 00:05 197 查看
字符变量用scanf赋值前不加getchar

代码如下:

#include <stdio.h>

int main()

{

    int num;

    char ch;

    scanf("%d",&num);

    scanf("%c",&ch);

    printf("num = %d",num);

    printf("ch = %c",ch);

    return 0;

]

运行时会发现程序直接跳过了ch的输入,这是因为当整数赋值结束时一般要输入一个回车符,也就是‘\n’,'\n'也会存入缓冲区,当ch要取值时正好缓冲区有一个字符,直接取走而跳过了外部输入的步骤,所以为了避免类似错误一般在字符格式化输入前加getchar();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: