面试时的指针问题

[复制链接]
 楼主| 社畜一枚 发表于 2018-9-27 16:10 | 显示全部楼层 |阅读模式
ST, rc, DMA, DM, IDMA
在网上查的strcpy是这个样子的

char* strcpy(char *a , const char *b)

{

if( (a==NULL) || (b==NULL) )

  throw "非法的源或目的字符串";

char *e=a;

while( (*a++ = *b++ )!= '\0' )

{

/*******************/

cout<<*a<<endl;

//调试a的值,

/******************/

}

*a='\0';  /*添上这个句子非常重要*/

cout<<*a<<endl;

return e;

}

void main()

{

     char p[]="12345";

  char a[20];

  cout<<strcpy(a , p)<<endl;

}



我自己写的是这个样子的,经过调试发现也是对的。

char* strcpy(char *a , const char *b)

{

if( (a==NULL) || (b==NULL) )

  throw "非法的源或目的字符串";

for(int i = 0; b != '\0' ; i++)

{

  a=b;

}

a='\0';

return a;

}

void main()

{

     char p[]="12345";

  char a[20];

  cout<<strcpy(a , p)<<endl;

}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

397

主题

401

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部