#牛客在线求职答疑中心#c语言中char str[]="ABCD",*p=str;
printf("%d\n",*(p+4));为什么输出零
printf("%d\n",*(p+4));为什么输出零
全部评论
这是因为在C语言中,字符串是以'\0'(空字符)作为结束标志的。在你的代码中,字符串"ABCD"实际上是"ABCD\0",其中'\0'是字符串的结束标志。
当你执行*(p+4)时,实际上是访问了字符串中的第5个字符,也就是'\0'。在C语言中,字符'\0'的ASCII值为0,所以输出结果为0。
如果你想访问字符串中的'D',你应该使用*(p+3),因为'D'是字符串中的第4个字符。
相关推荐
点赞 评论 收藏
分享