strcpy()函数的有关问题
strcpy()函数的问题C/C++ code#includeiostreamusing namespace stdint main(){char * pchar a[10]p
strcpy()函数的问题
C/C++ code#include<iostream>using namespace std;int main(){ char * p; char a[10]; p = a; cout<<p<<endl; strcpy(p,"china"); cout<<"p"<<*p<<endl; cout<<"p"<<p<<endl; cout<<"p"<<p+1<<endl; cout<<"p"<<*(p+2)<<endl; cout<<"p"<<*(p+3)<<endl; cout<<"p"<<*(p+4)<<endl; return 0;}
上面代码执行后结果不正确
第一个P输出的是地址,strcpy后P却输出china为什么??百思不得其解,高手解释下,谢谢了
[解决办法]p = a;
cout<<p<<endl; // a没有初始化,Debug下为0xcc。。。,中文应该是"烫"字+。。。
strcpy(p,"china");
cout<<"p"<<*p<<endl; //*p为数组的第一个元素,输出pc
cout<<"p"<<p<<endl; // 不解释,输出pchina
cout<<"p"<<p+1<<endl; // p+1执行a[1]的地址,输出phina
cout<<"p"<<*(p+2)<<endl; // *(p+2)为数组a[2]的值,输出pi
cout<<"p"<<*(p+3)<<endl; // 原因同上,为a[3]的值,输出pn
cout<<"p"<<*(p+4)<<endl; // 原因同上,为a[4]的值,输出pa
[解决办法]