laala2
2021-10-08 11:51
采纳率: 100%
浏览 25

C语言:用指针指向字符串,输出整形会有一个很大的

用指针输出和用字符串的名字输出,发现他们在输出整形的时候有区别(本来是a的ASCII码是97,用指针输出a的整形就成了十亿多了...),这个是为什么呢。(vs2017)

img

img

图片转代码服务由CSDN问答提供 功能建议

//以数组名输出
//chara]·=·{·’a,’s’,d,f²·]
char al]·=.asdf”:
printf(输出a·整个字符串:·%sn”,a);
printf(数组名存放的是首元素的地址\n”):
printf(输出a·字符串首地址·-·十六进制:0x%pn,a);
printf(输出a·字符串首地址·-·十进制:·%dln,a);
printf(输出a·字符串的首个字符·-·十六进制:0x%pln”,*a)
printf(”输出a·字符串的首个字符·-·十进制:·%d\n,*a);
printf(输出a·字符串的首个字符:%cln,*a);
//以指针输出
int*k;
k=.a;
printf(指针指向的字符串首个地址:0x%pn”,k)
printf(指针指向首个字符·-·十六进制:0x%p\n”,*k)
printf(指针指向首个字符·-·十进制:·%d\n,*k);
printf(指针指向首个字符:%cn”,k)
  • 好问题 提建议
  • 收藏

2条回答 默认 最新

  • dceacho 2021-10-08 11:58
    已采纳

    你把
    int* k
    改成
    char* k
    看看

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • zerokingq 2021-10-08 11:56

    你把 intk 换成char k

    评论
    解决 无用
    打赏 举报