大家好,小晋来为大家解答以上问题。gets函数一次可以多取几个字符,gets函数的用法很多人还不知道,现在让我们一起来看看吧!
1、 gets函数的原型是:
2、 char * gets(char * str);
3、 这个函数只有一个参数。该参数是char*类型的字符指针或一维数组头地址。
4、 获取函数function:
5、 从输入缓冲区中读取一个字符串,并将其存储在字符指针变量str所指向的内存空间中。
6、 获取函数示例1:
7、 #includesto.h
8、 intmain(void)
9、 {
10、 charstr[40];
11、 //确保首先初始化指针变量
12、 char * string=string _ 1;
13、 Printf(‘请输入一个字符串:’);
14、 获取(字符串);//也可以写成gets(string);
15、 printf(‘%s ‘,string);
16、 系统(“暂停”);
17、 return0
18、 }
19、 在本例中,我们输入了字符串“helloworld!”进入控制台。然后按Enter键结束输入。您可以在这里直接输入空格,它们不会被截断。由于空格回车,scanf函数将被截断。
20、 [注意]这里,gets函数将取出最后按下的换行符并丢弃它。
21、 获取函数示例2:
22、 #includesto.h
23、 intmain(void)
24、 {
25、 charstr[30];
26、 charch
27、 Printf(‘[1]请输入一个字符串:’);
28、 gets(str);
29、 printf(‘%s ‘,str);
30、 Printf(‘[2]请输入一个字符:’);
31、 scanf(‘%c ‘,ch);
32、 printf(‘ch=%c ‘,ch);
33、 系统(“暂停”);
34、 return0
35、 }
36、 这里演示了使用gets函数读取输入缓冲区会丢弃换行符,后面使用scanf函数不需要使用getchar函数清空缓冲区。
37、 scanf功能示例3:
38、 #includesto.h
39、 intmain(void)
40、 {
41、 charstr[30];
42、 charch
43、 Printf(‘[1]请输入一个字符串:’);
44、 scanf(‘%s ‘,str);
45、 printf(‘%s ‘,str);
46、 Printf(‘[2]请输入一个字符:’);
47、 //getchar();
48、 scanf(‘%c ‘,ch);
49、 printf(‘ch=%c ‘,ch);
50、 系统(“暂停”);
51、 return0
52、 }
53、 这里演示了scanf函数用于读取输入缓冲区,并且不会丢弃换行符。如果再次输入,需要使用getchar函数清除换行符,否则换行符会直接赋给ch变量。
54、 scanf功能示例3:
55、 #includesto.h
56、 intmain(void)
57、 {
58、 charstr[30];
59、 charch
60、 Printf(‘[1]请输入一个字符串:’);
61、 scanf(‘%s ‘,str);
62、 printf(‘%s ‘,str);
63、 Printf(‘[2]请输入一个字符:’);
64、 getchar();
65、 scanf(‘%c ‘,ch);
66、 printf(‘ch=%c ‘,ch);
67、 系统(“暂停”);
68、 return0
69、 }
70、 下面是如何使用getchar清除scanf函数留下的换行符。
本文到此结束,希望对大家有所帮助。