作为一个资深程序员,今天小编跟大家讲讲C语言中gets函数的使用方法。
工具/原料
C/C++
VS2015
方法/步骤
1、gets函数原型为:char*gets(char*str);这个函数只有一个参数。参数类型为char*型字符指针,也可以是一个一维数组首地址。
2、gets函数功能:从输入缓冲区中读取一个字符串存储到字符指针变量str所指向的内存空间。
3、gets函数举例咯悝滩镞1:#include<stdio.h>intmain(void){charstr[40];//一定要先将指针变量初始化艘早祓胂char*string=string_1;printf("请输入字符串:");gets(string);//也可以写成gets(string);printf("%s\n",string);system("pause");return0;}在这个例子中,我们向控制台输入了字符串“helloworld!”,然后按回车结束输入。这里可以直接输入空格,不会被截断。而scanf函数会因空格、回车而截断。【注意】,这里gets函数会取出最后按下的换行符并丢弃。
4、gets函数举例2:#include<stdio.h>intmain(void){charstr[30];charch;printf("[1]请输入字符串:");gets(str);printf("%s\n",str);printf("[2]请输入一个字符:");scanf("%c",&ch);printf("ch=%c\n",ch);system("pause");return0;}这里演示使用gets函数进行输入缓冲区读取会把换行符丢弃,后面使用scanf函数不需要使用getchar函数清空缓冲区。
5、scanf函数举例3:#includ娣定撰钠e<stdio.h>intmain(void){c茑霁酌绡harstr[30];charch;printf("[1]请输入字符串:");scanf("%s",&str);printf("%s\n",str);printf("[2]请输入一个字符:");//getchar();scanf("%c",&ch);printf("ch=%c\n",ch);system("pause");return0;}这里演示使用scanf函数进行读取输入缓冲区,并不会丢弃换行符,再次输入需要使用getchar函数清空换行符,否则会直接将换行符赋予ch变量
6、scanf函数举例3:#includ娣定撰钠e<stdio.h>intmain(void){c茑霁酌绡harstr[30];charch;printf("[1]请输入字符串:");scanf("%s",&str);printf("%s\n",str);printf("[2]请输入一个字符:");getchar();scanf("%c",&ch);printf("ch=%c\n",ch);system("pause");return0;}这里演示如何使用getchar清除scanf函数残留的换行符