购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3-4 认识简单的字符串读取

3-4-1 使用scanf( )函数读取字符串

字符串是由两个以上字符组成,字符串末端一定是“\0”字符。使用前必须声明字符串变量,声明方式如下:

char字符串变量[字符串长度];

注1 更完整的数组知识将在第7章说明。

注2 更完整的字符串知识将在第8章说明。

实例: 声明mystr是长度为10的字符串。

char mystr[10];

这时所声明的内存内容如下。

使用scanf( )函数读取字符串的格式如下:

scanf("%s", mystr)

执行上述指令时,scanf( )函数会从第一个非空格符开始读取,然后读到空格符为止。此外,读取字符串时,字符串变量左边不用加上“&”符号。

程序实例 ch3_22.c:读取字符串的应用。

上述执行结果左边是没有预留空格的输入,右边是空了4格的输入,所得到的结果都是一样的,这是因为scanf( )函数在读取字符串时会从第一个非空格符开始读取。

经过上述读取后,这时name字符串的内存内容如下所示。

3-4-2 使用scanf( )函数应注意事项

使用scanf( )函数读取数字时,也是会读取第一个非空白的字符,此非空白的字符必须是数字,至于数字后边的字符则会忽略。

程序实例 ch3_23.c:读取数字,此数字前面有空格符,数字后面有一般字符。

上述执行结果左边输入的内存图形如下。

上述执行结果右边输入的内存图形如下。

上述A字符虽然被忽略,但是会继续留在输入缓冲区内,下列程序可以读取此缓冲区内的数据。

程序实例 ch3_24.c:改良程序实例ch3_23.c,读取缓冲区内的数据。 16YItziTVwqJN2kfYVly3aN+oYhlNaHl81TPP/FMrgu983YVxpq0e533A8lV7KO8

点击中间区域
呼出菜单
上一章
目录
下一章
×