1.跟我学C例题3-3——如何从键盘输入一段完整的文字
实际上,在scanf()读入字符串时,当遇到字符串中的第一个空格‘’(Space,ASCII码是32)时就会停止输入过程。
对于字符串“I don’t enjoy studying computing—it’s just a means to an end.”来说,就是在读入了I后面的空格后,scanf()终止输入,将字符串“I,0”赋给了ch_s[]。
修改后的新程序如下:
程序3.3 跟我学C例题3-3
单步运行程序,弹出窗口如图3-7所示,图3-8所示的是程序全部执行完后的界面信息。
图3-7 gets()读入包含空格的字符序列
2.函数gets()的标准用法
gets()函数用来从键盘读取字符串直到回车符结束,但回车符不属于这个字符串,由一个空格(ASCII码Null)在字符串的最后代替它,其调用格式如下:
(www.xing528.com)
s为字符串变量(字符串名或字符串指针)。gets(s)与scanf("%s",s)的差别在于:
1)scanf("%s",s)输入字符串时,若遇到空格,则认为输入字符串结束,空格后的字符将作为下一个输入项处理。
2)gets()将接收输入的整个字符串直到回车符为止,例如:
#include<stdio.h>
图3-8 运行到return语句时的窗口信息
注意,gets(s)中的变量s为一个字符串。如果为单个字符,则编译链接时不会报错,但运行后会出现“Null pointer asignmemt”的错误。
此外,puts()用来向屏幕写字符串并换行,其调用格式为:
其中,s为字符串变量(字符串名或字符串指针)。puts()的作用与printf("%s\n",s)相同。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。