xmC语言8

上一篇提到了数组,主要讲了int数组,今天就来讲一下

char数组

1.形式

都是 type name【number/ 】=

对于char数组来说,你可以一个一个的输入,也可以输入一个字符串让计算机自己一一对应。需要注意的是char数组最后有一个\0 ,你可以不表达但必须给他留出空间。(就比如下面两个【】至少是5) 这两种表达形式都是正确的

objectivec 复制代码
#include<stdio.h>
int main(){
int i=0,size;
scanf("%d",&size);
char text[size]={'a','b','l','e','\0'};
char text2[size]="able";
for(i=0;i<size;i++){
printf("%c",text[i]);}
printf("\n");
for(i=0;i<size;i++){
printf("%c",text2[i]);}
printf("\n");
return 0;}

2."size"可以预先定义

objectivec 复制代码
#include<stdio.h>
#define size 20

像这样你的size就提前定义了

3.输入与输出

当你规定了char数组想输入变量或者输出的时候,可以一个一个也可以一起(别忘记给\0一个空间如果你不输入\0的话)

objectivec 复制代码
#include<stdio.h>
#define size 20
int main(){
int i=0;
char text[size];
char text2[size];
scanf("%s",text);
for(i=0;i<size;i++){
scanf("%c",&text2[i]);}
printf("%s\n",text);
printf("%s\n",text2);
return 0;}

可以看到text和text2是不同的,对于text我们选择输入%s字符串,这个时候text是地址,所以不需要再添加地址符了;而text2中一个一个输入字符,所以需要只想这个字符的地址,也就是&text2【i】的表达。

4.小练习

objectivec 复制代码
#include<stdio.h>
#define size 30
int main(){
int i,length=0,count=0;
char text[size];
char label[]="Result";
scanf("%s",text);
for(i=0;text[i]!='\0';i++){
printf("index%d:%c\n",i,text[i]);
length++;
if(text[i]=='a'||text[i]=='A')
count++;}
printf("length=%d,number od 'a' or 'A'=%d",length,count);
return 0;}
相关推荐
Q741_1473 分钟前
C++ 优先级队列 大小堆 模拟 力扣 703. 数据流中的第 K 大元素 每日一题
c++·算法·leetcode·优先级队列·
lly2024065 分钟前
PHP Error: 常见错误及其解决方法
开发语言
森焱森5 分钟前
嵌入式硬件工程师应知 白银快速分析报告
linux·c语言·arm开发·嵌入式硬件·去中心化
网安墨雨5 分钟前
Python自动化一------pytes与allure结合生成测试报告
开发语言·自动化测试·软件测试·python·职场和发展·自动化
毕设源码李师姐7 分钟前
计算机毕设 java 基于 java 的图书馆借阅系统 智能图书馆借阅综合管理平台 基于 Java 的图书借阅与信息管理系统
java·开发语言·课程设计
忆~遂愿8 分钟前
Runtime 上下文管理:计算实例的生命周期、延迟最小化与上下文切换优化
java·大数据·开发语言·人工智能·docker
沐知全栈开发9 分钟前
PostgreSQL中的AND和OR操作符
开发语言
czhaii13 分钟前
单片机最佳入门多线程示例讲解
c语言·单片机
1尢晞114 分钟前
Java学习
java·开发语言
木井巳19 分钟前
【递归算法】二叉搜索树中第K小的元素
java·算法·leetcode·深度优先·剪枝