當前位置:成語大全網 - 書法字典 - c多個字典合並

c多個字典合並

代碼如下(建議使用C++編譯器編譯或支持最新的C標準編譯器,我是在C11的標準下通過的):

#包含?& ltstdio.h & gt

#包含?& ltstring.h & gt

#包含?& ltmalloc.h & gt

作廢?修剪(char?*str)?{

夏爾?*strTmp?=?(char?*)malloc(sizeof(char)?*?strlen(str));

int?我?=?1,?j?=?1;

什麽時候?(str[j]?!=?'\0')?{

如果?(str[j]?!=?str[j?-?1])?{

strTmp[i?-?1]?=?str[j?-?1];

i++;

j++;

}?不然呢?{

j++;

}

}

strTmp[i?-?1]?=?str[j?-?1];

strcpy(str,strTmp);

免費(strTmp);

}

int?main()?{

夏爾?*str1?=?”a3b2c 1”;

夏爾?*str2?=?”q5 BCF 570”;

夏爾?*str3?=?(char?*)malloc(sizeof(char)?*?(strlen(str1)?+?strlen(str 2)));

strcpy(str3,str 1);

strcat(str3,?str 2);

為了什麽?(int?我?=?0;?我?& lt?strlen(str 3);?i++)

為了什麽?(int?j?=?0;?j?& lt?我;?j++)

如果?(str3[i]?& lt?str3[j])?{

夏爾?cTmp?=?str 3[I];

str3[i]?=?str 3[j];

str3[j]?=?cTmp

}

trim(str 3);

printf("%s?+?%s?= & gt?%s\n ",str1,?str2,?str 3);

免費(str 3);

回歸?0;

}