C++面試題之字串的拷貝
阿新 • • 發佈:2019-02-10
//字串的拷貝
//1.已知strcpy 函式的原型是:
//char *strcpy(char *strDest, const char *strSrc);
//其中strDest 是目的字串,strSrc 是源字串。不呼叫C++/C 的字串庫函式,請編寫函式 strcpy
#include <iostream>
#include <string>
using namespace std;
char *_strcpy(char *strDest ,const char *strSrc)
{
while (*strSrc != '\0') {
*strDest = *strSrc;
strSrc++;
strDest++;
}
//若不把最後的'\0'也拷貝,則會把記憶體中的ASCLL碼也輸出
*strDest = *strSrc;
return strDest;
}
int main(int argc, const char * argv[]) {
char a[100];
char b[100];
while (1) {
printf("請輸入需要拷貝的字串:\n");
scanf("%s",a);
_strcpy(b , a);
printf("自寫拷貝之後b=%s\n",b);
strcpy(b , a);
printf("系統拷貝之後b=%s\n" ,b);
}
return 0;
}
我最後用了C++自帶的strcpy函式來作對比,看看是否有錯。
若大家看出有錯,麻煩指出,一起學習!! ^_^