设为首页 加入收藏

TOP

8.3.3 字符数组与字符串
2013-10-12 09:16:37 来源: 作者: 【 】 浏览:109
Tags:8.3.3 字符 字符串

8.3.3  字符数组与字符串

字符数组是一种特殊的数组。定义一个字符数组以后,这个字符数组会返回一个头指针。可以根据这个头指针来访问数组中的每一个字符。而scanf()输入函数和printf()输出函数可以输入或输出一个字符串。范例8-7所示的实例是字符数组的使用方法。

【范例8-7】字符数组与指针的关系,实例代码如下所示。

实例代码8-7


  1. 01  #include <stdio.h> 
  2. 02  int main()  
  3. 03  {  
  4. 04     char a[30];                          /*定义一个字符数组。*/  
  5. 05     char *p;                             /*定义一个指向字符变量的指针。*/  
  6. 06     int i;                                   /*定义一个计数器变量。*/  
  7. 07     printf("please input a string:\n") ;     /*提示输入。*/  
  8. 08     scanf("%s",a) ;                      /*输入一个字符数组。*/  
  9. 09     printf("result:\n") ;  
  10. 10     printf("%s\n",a) ;           /*输出一个字符数组。*/  
  11. 11     i=0;                     /*循环计数器赋初值。*/  
  12. 12     while(a[i]!=NULL)            /*判断相对应的字符是不是为空。*/  
  13. 13     {  
  14. 14        printf("%c",a[i]) ;       /*输出这个字符。*/  
  15. 15        i++;                  /*计数器自加。*/  
  16. 16     }  
  17. 17     printf("\n") ;               /*输出一个换行。*/  
  18. 18     p=a;                     /*数组的头指针赋值给指针p。*/  
  19. 19     printf("%s\n",p) ;           /*输出变量p的内容。*/  
  20. 20     while(*p!=NULL)          /*判断p指向的内容是不是为NULL,进行while循环。*/  
  21. 21     {  
  22. 22        printf("%c",*p) ;     /*输出指针p指向的一个字符。*/  
  23. 23        p++;                  /*指针p指向下一个变量。*/  
  24. 24     }  
  25. 25     return 0;  
  26. 26  }  

【执行结果】输入下面的命令,编译这个程序。
  1. gcc 8.7.c 

输入下面的命令,运行这个程序。
  1. ./a.out 

程序输出下面的提示,要求输入一个字符串。
  1. please input a string: 

这时输入下面的字符串,然后按"Enter"键。
  1. asdfgh 

程序的运行结果如下所示。
  1. please input a string:  
  2. asdfgh  
  3. result:  
  4. asdfgh  
  5. asdfgh  
  6. asdfgh  

【代码解析】上面的代码使用三种情况演示了如何访问数组中的元素。代码第12~16行使用数组下标访问数组,代码第19行使用字符串的方式打印字符数组中的所有元素,代码第20~24行使用指针访问数组元素。

注意:C语言中没有字符串数据类型,可以使用字符数组存储和操作字符串。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇8.1.2 数组的定义与访问 下一篇8.3.1 数组与指针的关系

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: