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;}
相关推荐
REDcker6 小时前
浏览器端Web程序性能分析与优化实战 DevTools指标与工程清单
开发语言·前端·javascript·vue·ecmascript·php·js
Yzzz-F7 小时前
Problem - 2205D - Codeforces
算法
老花眼猫7 小时前
编制椭圆旋转绘图函数
c语言·经验分享·青少年编程·课程设计
我命由我123458 小时前
Kotlin 开发 - lateinit 关键字
android·java·开发语言·kotlin·android studio·android-studio·android runtime
智者知已应修善业8 小时前
【51单片机2个按键控制流水灯运行与暂停】2023-9-6
c++·经验分享·笔记·算法·51单片机
Halo_tjn8 小时前
Java Set集合相关知识点
java·开发语言·算法
许彰午8 小时前
我手写了一个 Java 内存数据库(二):B+ 树的插入与分裂
java·开发语言·面试
大飞记Python8 小时前
【2026更新】Python基础学习指南(AI版)——04数据类型
开发语言·人工智能·python
生成论实验室8 小时前
《事件关系阴阳博弈动力学:识势应势之道》第四篇:降U动力学——认知确定度的自驱演化
人工智能·科技·神经网络·算法·架构
AI科技星9 小时前
全域数学·72分册:场计算机卷【乖乖数学】
算法·机器学习·数学建模·数据挖掘·量子计算