扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
完整代码如下,有任何疑问可以追问。
成都创新互联公司是一家集成都网站制作、网站建设、网站页面设计、网站优化SEO优化为一体的专业网站建设公司,已为成都等多地近百家企业提供网站建设服务。追求良好的浏览体验,以探求精品塑造与理念升华,设计最适合用户的网站页面。 合作只是第一步,服务才是根本,我们始终坚持讲诚信,负责任的原则,为您进行细心、贴心、认真的服务,与众多客户在蓬勃发展的市场环境中,互促共生。
#include stdio.h
#include stdlib.h
int merge(char *in1,char *in2,char *out)
{
FILE *f_in,*f_out;
int n;
char buf[4096];
//打开输出文件
f_out=fopen(out,"wb");
if(!f_out) return 0;
//打开并读第一个文件写到输出文件
f_in=fopen(in1,"rb");
if(!f_in) return 0;
while(n=fread(buf,1,sizeof(buf),f_in))
{
fwrite(buf,1,n,f_out);
}
fclose(f_in);
//打开并读第二个文件写到输出文件
f_in=fopen(in2,"rb");
if(!f_in) return 0;
while(n=fread(buf,1,sizeof(buf),f_in))
{
fwrite(buf,1,n,f_out);
}
fclose(f_in);
fclose(f_out);
return 1;
}
int main()
{
if (!merge (“1.txt”, “2.txt”, “3.txt”))
printf(“Failed”);
else
printf(“successfully”);
return 0;
}
并不是说类型不匹配,是因为在使用merge之前未定义,把merge放到mergeSor前面,或是在最开始写上这句:
void
merge(int*,int,int,int);
希望对你能有所帮助。
因为两个数组的长度是不同的,数组a的元素个数是n,数组b的元素个数是m。for循环是在两个数组中分别比较元素的大小,指针c指向两个数组中较小的那个元素。依次朝后比较。当其中一个数组的元素全部都被遍历完,则指针c 就直接依次指向另外一个数组所有元素,将元素都添加到新数组中。
说的可能有点罗嗦。
举个例子吧
假定 a={1,3,7,}
b={2,4}
按照上面的程序,它的执行顺序是:
1) 比较a中的第一个元素和b中的第一个元素,12,指针指向1
2) 比较a中的第二个元素和b中的第一个元素,32,指针指向2
3) 比较a中的第二个元素和b中的第二个元素,34, 指针指向3
4) 此时b中的元素全部都被遍历完,则跳出for循环,执行后面的while语句
5) 因为a中的元素还没有被遍历完,则执行第一个while语句,指针依次指向a中的剩余元素,一直到a中的元素都被遍历完为止。
c最后得到的结果就是{1,2,3,4,7}
希望说明白了,能够帮到你
#includestring.h
void merge(char *s){
int k=strlen(s);
for(int i=k-1,l=k;i=0;i--)
s[k++]=s[i];
s[k]='\0';
}
int main(){
char ss[]="fjweiofwjelfsf";
merge(ss);
printf("%s",ss);
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流