編寫一個程序實現strcat函數的功能


寫自己的strcat函數------→mycat

 

 1 #include <stdio.h>
 2 #include <string.h>
 3 #define N 5
 4 
 5 char *mycat(char *s1, char *s2)
 6 {
 7     //數組型
 8 /*    int i = 0;
 9     while(s1[i] != '\0') {
10         i++;
11     } 
12     int j = 0;
13     while(s2[j] != '\0') {
14         s1[i] = s2[j];
15         i++;
16         j++;
17     }
18     s1[i] = '\0';
19     
20     return s1;   */
21     //指針型
22     char *p = s1;            //定義字符型指針p指向s1 
23     while(*s1 != '\0') {     //讓s1指向'\0' 
24         s1++;
25     } 
26     while(*s2 != '\0') {     //讓s2連在s1后 
27         *s1 = *s2;
28         s1++;
29         s2++;
30     }
31     *s1 = '\0';              //讓s1以'\0'結尾 
32     
33     return p;
34     
35 }
36 
37 int main()
38 {
39     char s1[N];
40     char s2[N];
41     fgets(s1, N, stdin);                    
42     if(s1[strlen(s1) - 1] == '\n') {      // 去掉換行符
43         s1[strlen(s1) - 1] = '\0';   
44     }
45     fflush(stdin);                        //因為上面使用了fgets,這里得清空緩沖區(具體請看gets和fgets函數的區別46     fgets(s2, N, stdin);
47     if(s2[strlen(s2) - 1] == '\n') {      // 去掉換行符
48         s2[strlen(s2) - 1] = '\0';   
49     }
50     printf("%s", mycat(s1, s2));
51 //    printf("%s\n%s", s1, s2);
52     
53     return 0;

 


免責聲明!

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



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