字符数组的讲解
来源:互联网 发布:mac宽带连接说鉴定失败 编辑:程序博客网 时间:2024/06/05 14:41
输入一个由5个字符组成的单词,将其内容颠倒过来
#include<stdio.h>int main(){ char ch[5]; int i,j,k; for(i=0;i<5;i++) { ch[i]=getchar(); } for(i=0,j=4;i<j;i++,j--) { k=ch[i]; ch[i]=ch[j]; ch[j]=k; } for(i=0;i<5;i++) { printf("%c",ch[i]); } return 0;}
编写程序,用于合并两个已知的数组。
#include<stdio.h>int main(){ //char ch1[]={'g','o','o','d',' '}; char ch1[]={"good"}; char ch2[]={'l','u','c','k','y'}; char ch3[10]; int i; for(i=0;i<5;i++) { ch3[i]=ch1[i]; } for(i=0;i<5;i++) { ch3[5+i]=ch2[i]; } for(i=0;i<10;i++) { printf("%c",ch3[i]); } printf("\n"); return 0;}
char ch1[]={'g','o','o','d'}; char ch1[]={"good"};
这两个字符数组是不一样的,虽然输出的结果一样,但是第一个字符数组长度为4,第二个长度为5,因为长度为5的是用字符串作为初值,字符数组的长度是字符串长度加上结束符。
当字符数组中存储的字符不是以’\0’结束时,只能像普通数组那样,用格式符”%c”一个元素一个元素的处理
例如:
char ch[5]; int i; for(i=0;i<5;i++) { scanf("%c",&ch[i]); } for(i=0;i<5;i++) { printf("%c",ch[i]); }
如果字符数组中存储的字符以’\0’结束的,也可以像普通数组那样,一个元素一个元素的处理。
char ch[]="hello"; int i; for(i=0;ch[i]!='\0';i++) { printf("%c",ch[i]); }
当用字符数组处理字符串时,可以用”%s”格式字符配合,完成字符的输入输出。
输出字符串:
char ch[]="I love china"; printf("%s",ch);
1、在使用scanf函数输入字符串时,“地址”部分应该直接写字符数组的名字,而不是取地址运算符&,在C语言中,数组名字代表该数组的起始地址。
2、在输出字符串时,输出项也为数组名,不能是数组元素。
3、利用格式符”%s”输入的字符串,以“空格”“tab”间隔多个字符,“回车”结束输入。
4、当字符数组长度大于字符串实际长度时,也只输出到’\0’结束。
5、如果字符数组中包含多个’\0’,遇到第一个’\0’时,输出结束。
例如:
char ch[]="hello\0handsome"; printf("%s",ch); 输出结果为:hello
6、scanf函数“%s”格式输入一个字符串时,函数中输入项用数组名,并且该数组已定义,而且输入字符串的长度应该小于数组长度。
例如:
char ch[10]; scanf("%s",ch); 数组长度为10,最多输入9个字符。
阅读全文
0 0
- 字符数组的讲解
- 数组的精选讲解
- 消除字符数组的字符
- 字符数组,特殊的数组
- javascript数组的知识点讲解
- javascript数组的知识点讲解
- 字符数组的长度
- 字符数组的特殊性
- 字符数组的问题
- 字符数组的初始化
- 字符数组的初始化
- 字符数组的使用
- 字符数组的输出
- 字符数组的初始化
- 字符数组的复制!!
- 字符数组的长度
- 字符数组的初始化
- 字符数组的初始化
- iOS中常见的传感器
- Android studio 的快捷键 MAC 和Win版本
- python迭代器与生成器与上下文管理器
- 第4周项目2
- gcc中遇到的一些问题
- 字符数组的讲解
- IAR编译器如何节省代码占用的flash空间?
- 在微信小程序中识别html标签的方法(wxParse)
- Redis之基础类型
- Webservice02---SOAP
- Java交通工具
- 真机调试与App上架
- AC米兰 传统豪门的没落
- ElasticSearch 5.X安装部署常见错误以及解决办法