玩一玩字符串指针

简介: gcc版本  8.2.0   Linux  centos 7 输出字符串数组中的每个值发现——字符串末尾的\0是真实存在的 1 #include 2 using namespace std; 3...

gcc版本  8.2.0   Linux  centos 7

 

输出字符串数组中的每个值

发现——字符串末尾的\0是真实存在的

  1 #include<iostream>
  2 using namespace std;
  3 
  4 int main(){
  5     char str[]="hello";
  7     for(auto i :str){
  8         cout<<i<<endl;
  9     }
 10     printf("%s \n",str);
 11     return 0;
 12 }

字符串最后的\0也被输出了。

 

 

修改字符串数组str索引位置为0的地址上的值

故意写的超过一个字符,最后报错——段错误

  1 #include<iostream>
  2 using namespace std;
  3 
  4 int main(){
  5     char str[]="hello";
  6     scanf("%s", str[0]);
  7     printf("%s \n",str);
  8     return 0;
  9 }

 

 

修改字符串str上的值

故意写的很长,有的版本会把str3里面的值也都改成aaaaaaa了,我这个版本报错——段错误(不同版本还是有差异的)

  1 #include<iostream>
  2 using namespace std;
  3 
  4 int main(){
  5     char str[]="hello";
  6     char str3[]="abcdeftg";
  7     cout<<"str3="<<str3<<endl;
  8     scanf("%s", str);
  9     printf("str=%s \n",str);
 10     cout<<"str3="<<endl;
 11     return 0;
 12 }

 

如果str3没有被赋初值

  1 #include<iostream>
  2 using namespace std;
  3 
  4 int main(){
  5     char str[]="hello";
  6     char str3[10];
  7     scanf("%s", str);
  8     printf("str=%s \n",str);
  9     cout<<"str3="<<endl;
 10     return 0;
 11 }

 

修改str的值

这次我只传入了一个a,然后打印连续地址上的值,发现hello中的“he”被覆盖了,后面的“llo”还活着

  1 #include<iostream>
  2 using namespace std;
  3 
  4 int main(){
  5     char str[]="hello";
  6     char str3[10];
  7     scanf("%s", str);
  8     printf("str=%s \n",str);
  9     cout<<"str3="<<endl;
 10     for(int i=0; i<15;i++){
 11         cout<<str[i]<<endl;
 12     }
 13     return 0;
 14 }

相关文章
|
3月前
|
人工智能 安全 IDE
【AI帮我写代码,上班摸鱼不是梦】手摸手图解CodeWhisperer的安装使用
除了借助ChatGPT通过问答的方式生成代码,也可以通过IDEA插件在写代码是直接帮助我们生成代码。 目前,IDEA插件有CodeGeeX、CodeWhisperer、Copilot。其中,CodeGeeX和CodeWhisperer是完全免费的,Copilot是收费的,每月10美元。 下面我们来了解CodeWhisperer的安装和使用,如果你还想了解其他的可以在评论告诉我。
75 4
|
8月前
确实挺不错的
确实挺不错的
76 0
|
11月前
|
存储 SQL 安全
连夜整理七个开源项目:练手、毕设、接私活都不愁了
项目一:cloud-platform 学习重点: 服务鉴权中心 用户间鉴权 服务之间鉴权 springcloud组件大回顾
|
SQL JavaScript Java
搭建情人节表白网站(超详细过程,包教包会)
网站的搭建其实在七夕的时候就已经弄好了,只是当时不会搭建,然后就放了好几个月,偶然发现情人节快到了,遂重新搭建了这个网站,不过说实话除了网站还真想不出有啥能够体现程序员的特长,你说各种代码,c,c++,java即时给你做出不错的GUI界面,人家还不一定会打开,网站最容易了,有手(机)就行,下面是它的效果展示视频,觉得好的记得三连哦
287 0
搭建情人节表白网站(超详细过程,包教包会)
|
jenkins Java 应用服务中间件
|
XML 前端开发 程序员
【Android开发】小白入门必看的”四框“使用教程,你学废了嘛?
【Android开发】小白入门必看的”四框“使用教程,你学废了嘛?
161 0
【Android开发】小白入门必看的”四框“使用教程,你学废了嘛?
|
移动开发 前端开发 Java
令我室友大为震惊!手把手教我室友撕web前端基础知识,上手小项目广告推广软文页面。
令我室友大为震惊!手把手教我室友撕web前端基础知识,上手小项目广告推广软文页面。
130 0
令我室友大为震惊!手把手教我室友撕web前端基础知识,上手小项目广告推广软文页面。
|
监控 安全 网络安全
开发人员,怎能没有个人博客!开经络,识秘籍
开发人员,怎能没有个人博客!开经络,识秘籍
140 0
开发人员,怎能没有个人博客!开经络,识秘籍
|
关系型数据库 MySQL PHP
开发人员,怎能没有个人博客!前人所创经典ZBlog
开发人员,怎能没有个人博客!前人所创经典ZBlog
200 0
开发人员,怎能没有个人博客!前人所创经典ZBlog
|
JSON 数据安全/隐私保护 数据格式
csdn竟然还有这种神器!后悔没有早点知道!超好用的csdn插件,别再犹豫了,赶快入手吧!
csdn竟然还有这种神器!后悔没有早点知道!超好用的csdn插件,别再犹豫了,赶快入手吧!
225 0
csdn竟然还有这种神器!后悔没有早点知道!超好用的csdn插件,别再犹豫了,赶快入手吧!