题目:
解析:
由本题的输入得:a这个数组共有七个字母,数组下标为0-6;
一开始i=1,j=0;
在第一次循环中:
a[i]=o,a[j]=m,a[j]<ap[i],所以j=1;
在第二次循环中:i=2,j=1;
a[i]=r,a[j]=o;a[j]<a[i];所以j=2;
第三次循环:i=3,j=2;
a[i]=n,a[j]=r;a[j]>a[i],不成立,所以j还是等于2;
以下几次循环以此类推:
最后i=7,j=2;
所以t=a[2]=r,a[2]=a[7]=\0,a[7]=a[2]=\0;
输出数组a时,到a[2]时就出现了字符串结束符了,所以输出的结果是“mo“。
#include<stdio.h>
int main()
{
char a[]="morning",t;
int i,j=0;
for(i=1;i<7;i++) if(a[j]<a[i]) j=i;
t=a[j]; a[j]=a[7];
a[7]=a[j]; puts(a );
return 0;
}