数据结构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 

 

因为我们事先不知道字符串的长度,所以输出时将数组遍历一次,清除数组内容。要想知道字符串长度,得加一个结束字符标示。

如下代码:

 

 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 

 

 

你可能感兴趣的:(数据结构)