码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C语言--数组与指针--打印字符串的n种方式



     一.知识背景

    一维数组名的含义
    arr一般表示数组的起始地址(除了两种例外)

    1.在定义数组的同一个函数中(不是形参),求sizeof(arr),求整个数组的字节数
    2.在定义数组的同一个函数中(不是形参),&arr+1,加整个数组的大小 (经常考试)
    3.除上面以外,arr都表示数组的起始地址(首元素的地址)

    字符串的结束标志是\0 ,如果定义一个字符串char str[12]="hello world",再定义一个字符型指针变量保存str的地址,char*p=str,那么在循环中我们可以用while(*p!='\0')来控制循环条件

    二.打印的思路

    1.用%s整体直接打印字符串的

    2.用%c一个字符串一个字符串打印(这里又分为通过下标移动打印和指针移动打印)

            通过下标移动打印字符串

            通过指针移动打印字符串


     三.代码实现

    方法一:

    1. #include
    2. int main()
    3. {
    4. char str[12] = "hello world";
    5. printf("%s", str);
    6. return 0;
    7. }


    方法二:

    1. #include
    2. int main()
    3. {
    4. char str[12] = "hello world";
    5. char* p = &str[0]; //char*p=str ==> p==str
    6. printf("%s\n", p);
    7. return 0;
    8. }


     方法三:

    1. #include
    2. int main()
    3. {
    4. char str[12] = "hello world";
    5. char* p = &str[0]; //char*p=str ==> p==str
    6. printf("%s\n", &str[0]);
    7. return 0;
    8. }


     方法四:

    1. #include
    2. int main()
    3. {
    4. char str[12] = "hello world";
    5. for (int i = 0; i < strlen(str); i++)
    6. {
    7. printf("%c", str[i]);
    8. }
    9. return 0;
    10. }


    方法五:

    1. #include
    2. int main()
    3. {
    4. char str[12] = "hello world";
    5. char* p = str;
    6. while(*p != '\0')
    7. {
    8. printf("%c", *p);
    9. p++; //当指针所指向的内容不等于\0时,指针往后面走
    10. }
    11. return 0;
    12. }


    创作不易, 如果这份博客👍对你有帮助,可以给博主一个免费的点赞以示鼓励。
    欢迎各位帅哥美女点赞👍评论⭐收藏⭐,谢谢!!!
    如果有什么疑问或不同的见解,欢迎在评论区留言哦👀。
    祝各位生活愉快⭐

  • 相关阅读:
    安装poetry
    Headers were already written Wanted to override status code 400 with 200
    SpringMVC常用注解的详细解析
    hive udf编写及JDBC连接测试
    AWS SAP-C02教程4--身份与联合身份认证
    NodeRed系列—创建mqtt broker(mqtt服务器),并使用mqttx进行消息发送验证
    SpringBoot项目的创建(一):通过idea的Spring Initializr来创建(需联网以下载SpringBoot相关的模板)
    如何学STM32- -十年经验教你如何学习嵌入式系统
    SpringBoot、MyBatis、PostgreSQL储存JSON、对象等自定义TypeHandler
    连接到EC2,开启root登录
  • 原文地址:https://blog.csdn.net/m0_75266675/article/details/134562968
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号