问题:
[单选] 有以下程序#include <stdio.h>
main()
{ char a[5][10]={"one","two","three","four","five"};
int i,j;
char t;
for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
if(a[i][0]>a[j][0])
{ t=a[i][0];a[i][0]=a[j][0];a[j][0]=t;}
puts(a[1]);
}
程序运行后的输出结果是
A . fwo
B . fix
C . two
D . owo
参考答案:A
参考解析:
这个程序的执行过程是当i=0 时,j=1,a[0][0]=o<a[1][0]=t;不置换;当i=1 时,j=2,a[1][0]=t =a[2][0]=t;不置换;当i=2 时,j=3,a[2][0]=t>a[3][0]=f;置换a[2][0]=f, a[3][0]=t;此时,a[2][0]=f,a[1][0]=t,再置换a[2][0]=t,a[1][0]=f,;当i=3时,j=4,a[3][0]=f=a43][0]=f;不置换;所以a[1]的结果为fwo。