主题:刚发现了一个很有意思的问题,不是很明白原因,大家一起来探讨一下
#include <iostream>
using namespace std;
int fun(char *ps,char *pt)
{
int len_ps=0;
while(*ps)
{
ps++;
len_ps++;
}
cout<<"ps="<<ps<<endl;
cout<<"ps-3="<<ps-3<<endl;//谁能帮我解释下这句以后的输出结果是怎么来的
cout<<"*(ps-3)="<<*(ps-3)<<endl;
cout<<"&(*(ps-3))="<<&(*(ps-3))<<endl;
return len_ps;
int main()
{
char *psc=new char;
cout<<"请输入一个字符串:"<<endl;
cin>>psc;
int pf;
pf=fun(psc);
return 0;
}
我是想做一个分配动态内存来存放用户输入的字符串,然后来求字符串的长度;在无意中发现了这个问题 有高手帮忙解释下,小弟感激不尽
using namespace std;
int fun(char *ps,char *pt)
{
int len_ps=0;
while(*ps)
{
ps++;
len_ps++;
}
cout<<"ps="<<ps<<endl;
cout<<"ps-3="<<ps-3<<endl;//谁能帮我解释下这句以后的输出结果是怎么来的
cout<<"*(ps-3)="<<*(ps-3)<<endl;
cout<<"&(*(ps-3))="<<&(*(ps-3))<<endl;
return len_ps;
int main()
{
char *psc=new char;
cout<<"请输入一个字符串:"<<endl;
cin>>psc;
int pf;
pf=fun(psc);
return 0;
}
我是想做一个分配动态内存来存放用户输入的字符串,然后来求字符串的长度;在无意中发现了这个问题 有高手帮忙解释下,小弟感激不尽