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

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条回答 默认 最新