憨学学 2023-03-08 16:26 采纳率: 90.9%
浏览 26
已结题

指针的基础地址理解问题

如果说a是字符串数组的首地址,那后面的直接打印printf("%s", a);为什么是这个字符串,为什么不是字符串的地址
没understand


#include<stdio.h>
int main()
{
    char a[10] = "12345";
    //char* p =a;

    printf("%c\n", a[0]);//输出1
    printf("%s", a);//输出12345

    return 0;
}

而这个就是地址

#include<stdio.h>
int main()
{
    int a[5] = { 1,2,3,4,5 };
    //char* p =a;

    printf("%d\n", a[0]);//输出1
    printf("%d", a);//就是输出的首地址

    return 0;

  • 写回答

3条回答 默认 最新

  • 扑天鹰 2023-03-08 16:29
    关注

    s输出的是字符串,d输出的是数值,你要弄明白参数。如果你要输出字符串,她只要知道首地址即可输出了,具体原理看printf函数实现源码

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

报告相同问题?

问题事件

  • 系统已结题 3月16日
  • 已采纳回答 3月8日
  • 创建了问题 3月8日

悬赏问题

  • ¥15 请问有没求偏多标签数据集yeast,reference,recreation,scene,health数据集。
  • ¥15 传感网应用开发单片机实训
  • ¥15 Delphi 关于sAlphaImageList使用问题
  • ¥15 寻找将CAJ格式文档转txt文本的方案
  • ¥20 数电设计提问求帮助,出租车计费器
  • ¥15 shein测试开发会问些啥我是写java的
  • ¥15 关于#单片机#的问题:我有个课程项目设计,我想在STM32F103veTX单片机,M3主控模块上设计一个程序,在Keil uVision5(C语言)上代码该怎么编译?(嫌钱少我可以加钱,急急急)
  • ¥15 opnet仿真网络协议遇到问题
  • ¥15 在安装python的机器学习程序包scikit-learn(1.1版本)时遇到如下问题
  • ¥15 要用 STM8L050J3M3TR 输出1路PWM 没有输出 不知道是不是 复用IO需要配置还是 定时器初始化的问题