多两天off 2022-10-04 10:20 采纳率: 85.7%
浏览 18
已结题

打印数组中的全部内容

#include <stdio.h>
int main()
{
char arr[] = {"avddf"};
printf("%s", arr);
}
用这串代码为什么能打印出arr里的字符串,arr在这个printf里不是首元素地址吗

  • 写回答

2条回答 默认 最新

  • lzl2040 人工智能领域新星创作者 2022-10-04 11:06
    关注

    printf中使用%s时,它会输出从这个地址开始的所有字符,直到遇到第一个'\0'字符时停止('\0'不会输出)
    arr它是首地址,使用%s后会输出从首地址开始的所有字符,楼主还可以做另外的实验,比如:

    print("%s",&arr[1]);
    print("%s",&arr[2]);
    

    看看是不是跟上面的一致

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月19日
  • 已采纳回答 10月11日
  • 创建了问题 10月4日

悬赏问题

  • ¥15 算法: 在随机数量点中找到两条长度最相似且不交叉的线
  • ¥15 三分类机器学习模型可视化分析
  • ¥15 本地测试网站127.0.0.1 已拒绝连接,如何解决?(标签-ubuntu)
  • ¥50 Qt在release捕获异常并跟踪堆栈(有Demo,跑一下环境再回答)
  • ¥30 python,LLM 文本提炼
  • ¥15 关于将inet引入的相关问题
  • ¥15 关于一个倒计时的操作和显示设计
  • ¥15 提问STK的问题,哪位航天领域的同学会啊
  • ¥15 苹果系统的mac m1芯片的笔记本使用ce修改器使用不了
  • ¥15 单相逆变的电压电流双闭环中进行低通滤波PID算法改进