c語言中strcpy函數,函數原型和函數頭文件


1、函數原型(字符串的復制)

#include <stdio.h>

char *strcpy(char *s1, const char *s2) //函數的返回值為指向char型的指針, 形參為指向char型的指針 
{
    char *tmp = s1;   // 將指針tmp聲明為s1,s1為傳入的字符串數組,相當於指向數組第一個元素的指針。 
    
    while(*s1++ = *s2++)  //字符串數組*s2依次給字符串數組*s1賦值,當指針指向數組*s2的null元素時,賦值表示的判斷結果為左操作數的值和類型,也就是0,循環終止,實現*s2向*s1的復制。 
        ;
    return tmp;     //返回指針tmp,也就是指向字符串數組*s1第一個元素的指針(其行為相當於數組本身)。 
} 

int main(void)
{
    char str1[128] = "abcdefg";
    char str2[128];
    printf("str2: "); scanf("%s", str2);
    
    printf("copy result: %s\n", strcpy(str1, str2)); //函數調用時給與的實參是兩個字符串數組,數組名相當於指向數組第一個元素的指針) 
    return 0; 
}

 

 

2、加載strcpy的頭文件,可以直接調用strcpy函數

#include <stdio.h>
#include <string.h>  //strcpy函數的頭文件 

int main(void)
{
    char str1[128] = "abcdefg";
    char str2[128];
    
    printf("str2: "); scanf("%s", str2);
    
    printf("copy result: %s\n", strcpy(str1, str2)); // 實參為字符串數組名稱,相當於指向數組第一個元素的指針,其行為和數組本身一樣 
    return 0;    
} 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM