标题:新手请教
取消只看楼主
joason
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-12-7
 问题点数:0 回复次数:2 
新手请教
请问高手在下面的程序中:
#include<iostream>
#include<vector>
#include<string>
using namespace std;
int main()
{
    string str="I love football";
    char *p = new char[15];
    strcpy(p,str.c_str());
    cout<<p<<endl<<*p<<endl;
        return 0;
}
为什么p输出的I love football,而*p输出的是I?这里的p不是指针吗?怎么会出现字符数组呢?谢谢!
搜索更多相关主题的帖子: include football 
2008-02-29 22:04
joason
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-12-7
得分:0 
首先谢谢楼上的!
但是p是指针,不是应该存储的是某个地址吗?*p应该是地址的内容也就是
I love football,可是程序输出的是I,这是为什么呀?
2008-02-29 22:45
joason
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-12-7
得分:0 
楼上的各位朋友说了,p指的是字符数组的首地址,那么*p是不是应该从数组的首地址开始直至遇到'\0'才结束,怎么*p只输出一个字符I?
2008-03-01 09:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-201490-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.843190 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved