6.113
因为给出的字符数组特殊性,所以按书上的答案,上机调试给出的结果是正确的,但当测试字符数组从"labchmfye"变为"cadbhmfye" 则结果不再正确。
正确代码应为:
char a[]="cadbhmfye",t;
int i,j;
for (i=0;i<7;i+=2)
for(j=i+2;j<9;j+=2)
if(a[j]<a[i])
{ t=a[i]; a[i]=a[j]; a[j]=t; }
puts(a);
这样a字符数组可随意给,结果都正确。
7.47 答案(1)为>实际应为<.
答案(2)为b!=0, 直接填b或temp也可.