02-表示字符串和字符串IO
11.1 表示字符串和字符串I/O
第4章介绍过,字符串是以空字符( \0 )结尾的 char 类型数组。因此,可以把上一章学到的数组和指针的知识应用于字符串。不过,由于字符串十分常用,所以C提供了许多专门用于处理字符串的函数。本章将讨论字符串的性质、如何声明并初始化字符串、如何在程序中输入和输出字符串,以及如何操控字符串。
程序清单11.1演示了在程序中表示字符串的几种方式。
程序清单11.1 strings1.c 程序
// strings1.c
#include <stdio.h>
#define MSG "I am a symbolic string constant."
#define MAXLENGTH 81
int main(void)
{
char words[MAXLENGTH] = "I am a string in an array.";
const char * pt1 = "Something is pointing at me.";
puts("Here are some strings:");
puts(MSG);
puts(words);
puts(pt1);
words[8] = 'p';
puts(words);
return 0;
}
和 printf() 函数一样, puts() 函数也属于 stdio.h 系列的输入 / 输出函数。但是,与 printf() 不同的是, puts() 函数只显示字符串,而且自动在显示的字符串末尾加上换行符。下面是该程序的输出:
Here are some strings:
I am a symbolic string constant.
I am a string in an array.
Something is pointing at me.
I am a spring in an array.
我们先分析一下该程序中定义字符串的几种方法,然后再讲解把字符串读入程序涉及的一些操作,最后学习如何输出字符串。