满意答案
sjoest
2014.08.18
采纳率:59% 等级:8
已帮助:663人
(1)char a[]="acegikm"; a数组没有赋予数组大小,所以它的大小,默认等于赋予的字符串长度等于7,所以当strcat(a,b)时,长度超出数组大小,会有错。
(2)str(c,a);puts(c);且你定义的C数组使用很不充分,并且应该是strcat(c,a)(3)定义数组时最好赋予初值,如c[80]不赋予初值,数组的值是随机的,应改为int c[80]={}
#includevoid main(){ char a[]="acegikm"; //升序 char b[]="bdfhjlnpq"; //升序 char c[80]={}; int i=0,j=0,k=0; while(a[i]!='\0'&&b[j]!='\0') { if(a[i]<=b[j]){c[k]=a[i];i++;} else {c[k]=b[j];j++;} k++; } if(i>=strlen(a)) { for(;j=strlen(b)) { for(;i
03分享举报