嵌入式-语言基础:字符串擦操作
字符串:可以理解为是由一串字符组成的数组。
定义一个字符串:char s[]="hello";
#include<stdio.h> int main() { char s[]="hello";//这种方式字符串是不能通过指针被修改的,因为“hello”表示的是常量,如果要修改只能通过下标 char s1[]={'h','e','l','l','o'};//这种方式字符串表示的是数组,是可以修改的 char *p=s; printf("puts打印字符串:\n"); //打印方式1: puts(s); //打印方式2: printf("%s\n",s); printf("打印字符串:\n"); for(int i=0;i<5;i++) { printf("%c\n",s[i]); } printf("通过指针打印字符串:\n"); for(int i=0;i<5;i++) { printf("%c\n",*(p+i)); } //修改s s[0]='1'; printf("修改后打印字符串:\n"); for(int i=0;i<5;i++) { printf("%c\n",s[i]); } //修改s1 s1[0]='2'; printf("修改后打印字符串:\n"); for(int i=0;i<5;i++) { printf("%c\n",s1[i]); } //通过指针修改字符串常量,不允许 char *p2="hello"; *(p2+1)='t';//会错误,你将看不到后面打印的这一行 printf("done\n"); return 0; }
输出结果:
puts打印字符串:
hello
hello
打印字符串:
h
e
l
l
o
通过指针打印字符串:
h
e
l
l
o
修改后打印字符串:
1
e
l
l
o
修改后打印字符串:
2
e
l
l
o
done
F:\QUStudy>gcc str.c
F:\QUStudy>a.exe
puts打印字符串:
hello
hello
打印字符串:
h
e
l
l
o
通过指针打印字符串:
h
e
l
l
o
修改后打印字符串:
1
e
l
l
o
修改后打印字符串:
2
e
l
l
o
一般我们不通过遍历的方式来打印字符串。
4556
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端