现在的位置: 首页 > 07 字符串入门 > 正文

字符串的声明、输入和输出

2012年11月01日 07 字符串入门 ⁄ 共 648字 ⁄ 字号 暂无评论

字符串的声明,输入,运算,输出

严格来说,字符串并不是一种新的类型,只是特殊的字符数组,特殊之处在于字符串以'\0'作为结束符。

字符串的声明和字符数组完全相同。

1
char s[80];

字符数组的大小可以根据情况来设置,80是命令行下面一行的长度。如果你并清楚需要字符数组的大小,不妨设置得大一些。

字符串的输入

1
scanf("%s", s);

如果用户输入是

1
Great

那么字符数组的内容是

细心的同学会注意到,这里 scanf 中的变量 s 并没有在前面加通常的取地址符号 &,因为 s 本身就是地址。 scanf 会在字符串的末尾做个标记,自动加上'\0', 表示字符串的结束。

字符串的输出

1
printf("%s", s);

下面是完整的程序。

1
2
3
4
5
6
7
8
9
#include <stdio.h>
 
int main(int argc, char *argv[])
{
    char s[80];
    scanf("%s", s);
    printf("%s\n", s);
    return 0;
}

你输入“Find Your Greatness”看看会发生什么?

C语言还提供了另外一个函数 gets 用于读取一整行的内容(从当前位置直到遇到回车符)。
对应于gets,库函数还提供了 puts 用于输出字符串的内容,并自动加上换行。

1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#inlucde <string.h>
 
int main(int argc, char *argv[])
{
    char s[80];
    gets(s);
    printf("%s\n", s);
    puts(s);
    printf("%d\n", strlen(s) );
    return 0;
}

上面的字符串处理函数 strlen 用于计算字符串的长度。

【上篇】
【下篇】

抱歉!评论已关闭.