C语言从入门到精通(视频实战版)
上QQ阅读APP看书,第一时间看更新

4.3.1 使用getchar()

getchar()是C语言中用于获取单个输入数据的功能函数。即当用户在程序中输入一串字符时,该函数也只能够获取到输入的第一个字符数据,而后面的字符将被省略。该函数的使用原型如下:

int getchar( void );//获取单个数据

如果该函数调用成功,则将返回获取到的数据;否则,将返回0。例如,在程序中使用getchar()获取输入数据,并将数据输出显示。具体的代码如下:

#include <stdio.h>//包含标准输入/输出头文件
main()//主函数开始
{
    char ch;//定义字符变量
    printf("请用户输入一个字符 ");//输出提示语
    ch=getchar();//获取用户输入的字符数据
    printf("用户输入的字符为: ");//输出提示语
    printf("%c ",ch);//输出字符变量值
    return 0;
}

图4.4 程序运行结果

在实例程序中,当getchar()获取到用户输入的数据后,会将该数据存放在变量ch中,并通过标准输出函数printf()输出,如图4.4所示。

当然,函数getchar()不仅能够获取整型数据、字符数据,还可以获取其他任何类型的数据。虽然该函数的功能十分有限,但是也可以使用该函数结合循环结构实现多数据的获取功能。具体代码如下:

#include <stdio.h>//包含标准输入/输出头文件
main()//主函数开始
{
    char ch[10]={0};//定义并初始化字符数组
    printf("请用户输入10个字符数据! ");//输出提示语
    for(int i=0;i<10;i++)//循环结构
{
    ch[i]=getchar();//使用getchar函数获取数据
    }
    printf("用户输入的数据为:%s ",ch);//输出获取到的数据
return 0;
}

在实例代码中,主要使用一个for循环结构使函数getchar()被调用了10次,并且每次调用后,将获取到的数据保存在字符数组ch中。当循环结束后,使用标准输出函数printf()将数据输出显示,运行结果如图 4.5所示。

如图4.4所示,用户输入了11个数据,但是程序根据循环次数只接收了10个数据,并输出显示。因此,当函数getchar()与循环结构结合使用时,也可以实现与标准输入函数一样的功能。

图4.5 程序运行结果

注意 关于for循环结构的使用方法将在第5章中进行详细讲解。