简单指针问题,新手求教
这是我写的代码
#include<iostream>
using namespace std;
int main()
{
char *p1="请输入一段字符串";
char *p2="字符串的长度为";
char size[100];
int length=0;
cout<<p1<<endl;//在这不懂,p1储存了“请输入字符创的地址,输出时应该用*p1,但是用*p1输不出来
cin>>size;
while(size[length]!=0)
{
length++;
}
cout<<p2<<":"<<length<<endl;//同理
return 0;
}
本代码可以输出
我又改了下代码,但是输不出来。
#include<iostream>
using namespace std;
int main()
{
char *p1=&"请输入一段字符串";//在“”之前加入了取地址
char *p2=&"字符串的长度为";
char size[100];
int length=0;
cout<<*p1<<endl;
cin>>size;
while(size[length]!=0)
{
length++;
}
cout<<*p2<<":"<<length<<endl;
return 0;
}
求解答,小弟感激不尽
[解决办法]
cout<<*p1<<endl;此时输出首字符
cout<<p1<<endl;会从字符串首地址一直读取到'\0'时结束