下面程序的运行的结果是

来源:百度知道 编辑:UC知道 时间:2024/06/25 11:16:40
下面程序的运行的结果____________。
#include <stdio.h>
void 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);
}

讲下过程,谢谢。
答案是mo

for(i=1;i<=7;i++) if(a[j]<a[i]) j=i; 循环结果j为2
因为 a[2] 是 'r',最后一个大于a[j] 也就是 a[0] 的 a[i].

j=2:
t=a[j]; a[j]=a[7]; a[7]=a[j];
a[7] 是 字符串结束符号 '\0',

a[j]=a[7]; 就是 a[2]=字符串结束符号 '\0'.
所以 puts(a); 只能打出 a[0],a[1]. 就是 mo

mogning