请教!关于C++里的字符串、指针、new的用法

 我来答
孔培胜罗婉
2019-08-30 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:30%
帮助的人:2184万
展开全部
p1是一个char指针,p1所指内存存放着‘a’的地址
p2也是char指针,其所指内存中存放着变量a的地址
p3显然是不对的,不能把char变量赋值给char指针;
p4则存放着字符串的首个字符的地址;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
敏秀云鲁珍
2019-10-09 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:31%
帮助的人:1097万
展开全部
看不懂你写的,好像是你的算法有问题,帮你改一下:
int
s
=
0;
int
i
=
0;
bool
bnum
=
false;
while(*p!='\0')
{
if(*p>='0'
&&
*p<='9')
{
s
=
s
*
10
+
(*p
-
'0');
bnum
=
true;
}
else
{
if(bnum)
{
a[i]
=
s;
s
=
0;
i++;
bnum
=
false;
}
}
p++;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
微笑柔柔妈
2019-08-29 · TA获得超过4247个赞
知道大有可为答主
回答量:3063
采纳率:31%
帮助的人:447万
展开全部
数组名称就是地址.
char*
name=new
char[20];中name是一个数组,也是一个地址,后面有19个字节(就想象一下有20个空框)。name是这20个字节的第一个字节的地址,name+1,
name+2……分别是第2、第3个字节的地址。
cout<
评论
0
0
加载更多
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
覃慧栗叶丰
2019-10-14 · TA获得超过4097个赞
知道大有可为答主
回答量:3088
采纳率:32%
帮助的人:232万
展开全部
看不懂你写的,好像是你的算法有问题,帮你改一下:
int
s
=
0;
int
i
=
0;
bool
bnum
=
false;
while(*p!='\0')
{
if(*p>='0'
&&
*p<='9')
{
s
=
s
*
10
+
(*p
-
'0');
bnum
=
true;
}
else
{
if(bnum)
{
a[i]
=
s;
s
=
0;
i++;
bnum
=
false;
}
}
p++;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式