现在的位置: 首页 > 基础课程 > 正文

4月18/19日 字符数组和字符串基础

2011年04月09日 基础课程 ⁄ 共 1297字 ⁄ 字号 暂无评论

字符串和字符串结束标志
在C语言中,是将字符串作为字符数组来处理的,关心的是字符串的有效长度而不是字符数组的长度,为了测定字符串的实际长度,C语言规定了字符串结束标志’’

什么是’’
1 ’’代表ASCII码为0的字符
2 从ASCII码表可以查到,ASCII码为0的字符不是一个可以显示的字符,而是一个“空操作符”,即它什么也不做
3 用它作为字符串结束标志不会产生附加的操作或增加有效字符,只起一个供辨别的标志

字符串的初始化

1
2
3
4
5
6
char c[10];
c[0]=’I’;   c[1]=’ ’;
c[2]=’a’;  c[3]=’m’;
c[4]=’  ’;  c[5]=’h’; 
c[6]=’a’;  c[7]=’p’; 
c[8]=’p’;  c[9]=’y’;

字符数组的输出

1
2
char c[10]={’I’,’ ’,’a’,’m’,’ ’,’h’,’a’,’p’,’p’,’y’};
char c[10]={’c’,’ ’,’p’,’r’,’o’,’g’,’r’,’a’,’m’};

字符数组的输入输出可以有两种方法:1 逐个字符输入输出(%c) 2 整个字符串一次输入输出(%s) 。输出的字符中不包括结束符’’

用%s输出字符串时,printf函数中的输出项是字符数组名,不是数组元素名。如果一个字符数组中包含多个’’,则遇第一个’’时输出就结束

字符数组的输入

scanf函数中的输入项c是已定义的字符数组名,输入的字符串应短于已定义的字符数组的长度

1
2
3
4
5
char diamond[5][5]={{’ ’,’ ’,*},
                                 {’ ’,*,’ ’,*},
                                 {*,’ ’,’ ’,’ ’,*},
                                 {’ ’,*,’ ’,*},
                                 {’ ’,’ ’,*}  };

系统自动在China后面加一个’’

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main(int argc, char *argv[]) {
    char c[15]= {'I',' ','a','m',' ','a',
                 ' ','s','t','u','d','e','n','t','.'
                };
    int i;
    for(i=0; i<15; i++)
        printf("%c",c[i]);
    printf("n");
 
    return 0;
}

str1, str2, str3 在输入 How are you? ↙ 后,保存的内容是什么?

抱歉!评论已关闭.