將已經按升序排好序的兩個字符串 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);
}
結果: