数据结构C语言>数组>字符数组
C语言中,没有字符串类型。用字符数组来模仿字符串类型。
上代码:
1 #include <stdio.h>
2 #include <stdlib.h>
3
4 int main(int argc, char *argv[])
5 {
6 char string[100];//字符数组声明
7 char ch;//输入字符
8 int i;
9
10 for(i=0; i<100; i++)//清除数组内容
11 {string[i] = ' ';}
12 putchar('?');
13 i = 0;
14 while((ch=getchar()) != '\n') //输入字符,回车例外
15 {
16 string[i] = ch;
17 i++;
18 }
19 for(i = 0; i<100; i++)//输出字符
20 {
21 putchar(string[i]);
22 }
23 putchar('\n');
24
25 system("PAUSE");
26 return 0;
27 }
28
2 #include <stdlib.h>
3
4 int main(int argc, char *argv[])
5 {
6 char string[100];//字符数组声明
7 char ch;//输入字符
8 int i;
9
10 for(i=0; i<100; i++)//清除数组内容
11 {string[i] = ' ';}
12 putchar('?');
13 i = 0;
14 while((ch=getchar()) != '\n') //输入字符,回车例外
15 {
16 string[i] = ch;
17 i++;
18 }
19 for(i = 0; i<100; i++)//输出字符
20 {
21 putchar(string[i]);
22 }
23 putchar('\n');
24
25 system("PAUSE");
26 return 0;
27 }
28
因为我们事先不知道字符串的长度,所以输出时将数组遍历一次,清除数组内容。要想知道字符串长度,得加一个结束字符标示。
如下代码:
1 #include <stdio.h>
2 #include <stdlib.h>
3
4 int main()
5 {
6 char string[100]; /* 字串阵列宣告 */
7 char ch; /* 输入字元 */
8 int i;
9
10 putchar('?'); /* 列出提示输入讯息 */
11 i = 0;
12 while ( (ch = getchar()) != '\n' ) /* 输入字元 */
13 {
14 string[i] = ch; /* 存入字串内 */
15 i++;
16 }
17
18 string[i] = '\0'; /* 加结束字元 */
19 for ( i = 0; string[i] != '\0'; i++ )
20 putchar(string[i]); /* 印出字串内容 */
21 putchar('\n'); /* 换行 */
22
23 system("PAUSE");
24 return 0;
25
26 }
27
2 #include <stdlib.h>
3
4 int main()
5 {
6 char string[100]; /* 字串阵列宣告 */
7 char ch; /* 输入字元 */
8 int i;
9
10 putchar('?'); /* 列出提示输入讯息 */
11 i = 0;
12 while ( (ch = getchar()) != '\n' ) /* 输入字元 */
13 {
14 string[i] = ch; /* 存入字串内 */
15 i++;
16 }
17
18 string[i] = '\0'; /* 加结束字元 */
19 for ( i = 0; string[i] != '\0'; i++ )
20 putchar(string[i]); /* 印出字串内容 */
21 putchar('\n'); /* 换行 */
22
23 system("PAUSE");
24 return 0;
25
26 }
27
合乎自然而生生不息。。。