请问c语言中 char *s=“abcde”; s+=2;
printf(“%d”,s); 的运行结果是什么?
答案是字符c的地址,但是%d为什么会是地址呢?
有关C语言的指针与地址问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
7条回答 默认 最新
yun6853992 2022-04-14 17:54关注这里你要了解几个知识点
1:c语言字符串的概念,实际上就是字符串的首地址,然后一直存数据,直到遇到终结符\0。
2:存储字符串的方式,char *的方式和char数组的方式。
然后你理解这个问题。
这里的s实际上就是一个指针,指向的是字符串的首地址。 你如果按字符串处理,就是从这个地址开始输出字符串(%s),而你把他当数值处理,当然就直接输出的是一个值了,地址的输出其实用%p更好。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报