简单c++问题就一个题目,有点小疑惑,请求解答!在先等!!
#include<iostream>usingnamespacestd;voidmain(){chars[]="123\t456\00089",*p=s;cout<<*(...
#include<iostream>
using namespace std;
void main()
{
char s[]="123\t456\00089",*p=s;
cout<<*(p+5)<<endl;
cout<<(p+5)<<endl;
}
这样输出的答案是5和56,5 这个答案我知道!但是56 就不懂了呢?望帮个忙!! 展开
using namespace std;
void main()
{
char s[]="123\t456\00089",*p=s;
cout<<*(p+5)<<endl;
cout<<(p+5)<<endl;
}
这样输出的答案是5和56,5 这个答案我知道!但是56 就不懂了呢?望帮个忙!! 展开
5个回答
展开全部
cout<<*(p+5)<<endl;
cout<<(p+5)<<endl;
}
cout<<(p+5)<<endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
*(p+5)指的是字符数组S中的第6个字符,也就是5.
但是cout<<p+5<<endl;就是输入从P+5后面的字符串。要知道p是地址,p+5也是地址。cout对地址操作,输出的就是以那个地址为起始的字符串,输出字符串遇到0为止。
但是cout<<p+5<<endl;就是输入从P+5后面的字符串。要知道p是地址,p+5也是地址。cout对地址操作,输出的就是以那个地址为起始的字符串,输出字符串遇到0为止。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
p是指向s这个字符串的.
cout<<p+5<<endl;就从5往后开始输出,到\0结束.
cout<<p+5<<endl;就从5往后开始输出,到\0结束.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
*p=s即指针P指向S的起始地址,你如果输出p,则会输出123 456
同理,p+1指向s[1]结果输出 23 456
再同理,p+5指向s[5]结果输出 56
同理,p+1指向s[1]结果输出 23 456
再同理,p+5指向s[5]结果输出 56
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询