12 合併字符串

將已經按升序排好序的兩個字符串 str1 和 str2 中的字符再按升序歸併到字符串 str3 中。

#include<stdio.h>

main(){
    char str1[] = "acegikm";
    char str2[] = "bdfhjlnpq";
    char str3[] = "", *p;
    
    int i=0,j=0,k=0;
    // str1 與 str2 都未結束,兩兩字符比較
    while(str1[i] != '\0' && str2[j] != '\0'){
        if(str1[i] < str2[j])
            str3[k] = str1[i++];
        else
            str3[k] = str2[j++];
        k++;
    }
    str3[k] = '\0';
    // 移動指針,指向未結束串的剩餘位置
    if(str2[j] != '\0')
        p = str2 + j;
    else
        p = str1 + i;
    // p 追加到 str3
    strcat(str3,p);
    puts(str3);
}

結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章