上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章中进行详细讲解。