class character
{
private:
char * p;
public :
character(char * p)
{
this->p = p;
}
void display()
{
cout<<"输出的字符串为:"<
}
};
int main(void)
{
char * p = "Hello";
character ch(p);
ch.display();
return 0;
}
cout<<"输出的字符串为:"<
请问这个地方输出字符串的时候为什么不是 * p了? 指针变量p不是存放的是字符串Hello的首地址吗? * p 应该才是字符串的内容啊。 我认为应该写成 #include <stdio.h>
#include <string.h>
main()
{
char p[256],q[256];
int i,j=0,k,o[100];
puts("请输入字符串string1:");
gets(p);
puts("请输入要查找的字符串string2:");
gets(q);
for(i=0;i<strlen(p);i++)
if(q[0]==p[i])
{
o[j]=i;
j++;
}
printf("出现%d次,位置分别为:",j);
for(k=0;k<j;k++)
printf("%d,",o[k]);
printf("\n\n");
} 不清楚再问我!!!!!!!!!!
cout<<"输出的字符串为:"<< *p <
你对字符串指针的了解不够,在输出时,p代表整个字符串,即
cout << p时会输出字符串的内容,即Hello,cout << p +1时会输出ello
cout << &p时会输出字符串首地址
这是改成*p时的运行结果,Microsoft Visual C++ 6.0编译通过
输出的字符串为:H
Press any key to continue