c++中字符指针*p+++1表示什么?
1个回答
展开全部
已经有这么多回答了,本来不想芦氏凑热闹,但看看都不对。还是我来说说吧。
*p+++1等同于(
(*(p++))+1),表示的是两个含义:
1、计算p所指向的字符的ascii码加1的和,结果是个整数;
2、让p指向后面的一个字符。
特别说明一下,这个运算并不会改变p所指向的字符内容。
给你一个示例代码可亏哗握能更好理解一些。
#include
using
namespace
std;
int
main()
{
char
a[]="done";
char*
p
=
&a[0];//一般直接写成char*
p=a;
cout
<<
*p
<<
endl;/销庆/可以看到p所指向的是a数组的第一个字符'd'
cout
<<
*p+++1
<<
endl;//输出的是字符'd'的ascii码100加1的结果,整数101
cout
<<
*p
<<
endl;//p所指向的字符已经是a数组中的第二个字符'o'了
cout
<<
a
<<
endl;//但a数组中的每一个字符内容都没有改变,依然是done
return
0;
}
*p+++1等同于(
(*(p++))+1),表示的是两个含义:
1、计算p所指向的字符的ascii码加1的和,结果是个整数;
2、让p指向后面的一个字符。
特别说明一下,这个运算并不会改变p所指向的字符内容。
给你一个示例代码可亏哗握能更好理解一些。
#include
using
namespace
std;
int
main()
{
char
a[]="done";
char*
p
=
&a[0];//一般直接写成char*
p=a;
cout
<<
*p
<<
endl;/销庆/可以看到p所指向的是a数组的第一个字符'd'
cout
<<
*p+++1
<<
endl;//输出的是字符'd'的ascii码100加1的结果,整数101
cout
<<
*p
<<
endl;//p所指向的字符已经是a数组中的第二个字符'o'了
cout
<<
a
<<
endl;//但a数组中的每一个字符内容都没有改变,依然是done
return
0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询