有以下程序 #include main() { char a[5][10] = {"one", "two", "three", "four", "five" }; int i, j; char t; for ( i=0; i

admin2015-07-28  30

问题 有以下程序
#include
main()
{
char a[5][10] = {"one", "two", "three", "four", "five" };
int i, j;
char t;
for ( i=0; i<2; i++ )
for ( j=i+1; j<5; j++ )
if ( a[0] >a [j][0] )
{
t=a[0];
a[0]=a[j][0];
a[j][0]=t;
}
puts(a[1]);
}

程序运行后的输出结果是( )。

选项 A、fwo
B、owo
C、two
D、fix

答案A

解析 两层for循环当中,外层循环i从0到1,内层循环j从i+1到4。该段代码的逻辑是将二维数组中存放的字符串的首位字符按照ASCII码值从小到大排序,类似于冒泡排序,不过外层只循环了两次。所以头两个字符串的首位存放的均是字符?f?,输出a[1]为"fwo",答案选A。
转载请注明原文地址:https://kaotiyun.com/show/jZJp777K
0

最新回复(0)