请教关于strcpy和strcmp的老问题(最近准备面试,谢谢)
Eleve 2007-04-23 11:01:35 最近准备面试,在网上找了些关于C的经典老题。
不过C不是很熟悉了,关于strcpy里的一些语句含义不是很清楚
希望大家能给小弟指点一二,不胜感激。
题目如下:
已知strcpy函数原型:char *strcpy(char *strDest, const char *strSrc);
其中strDest是目的字符串,strSrc是源字符串
1、不调用C++/C的字符串库函数,编写strcpy
2、strcpy能够将strScr的内容复制到strDest,为什么还要char *类型的返回值。
1---|char *strcpy(char *strDest, const char *strSrc);
2---|{
3---| assert((strDest != NULL)&&(strSrc != NULL));
4---| char *address = strDest;
5---| while((*strDest++ = *strSrc++)!='\0')
6---| NULL;
7---| return address;
8---|}
//-------问题1(Line1):为什么第二个参数是用const
//-------问题2(Line1):为什么char *strcpy(char *strDest, const char *strSrc)后边加了一个“;”号
char *strcpy(char *strDest, const char *strSrc)
{
//......
}
不是一个函数吗?
//-------问题3(Line6):为什么要在此处增加“NULL;”这样一句话?
真的很菜,希望大家指点迷津,不胜感激