这个程序可以倒着看,,
首先最后打印的是a[1],也就是第二行的two,但是在循环中明显里面有操作,最后输出为'X'wo所以看他操作了什么,'X'到底是什么
初始外层循环跑了四次,内层循环也是四次,
最后一次外层循环跑的时候内部循环只跑一次
再看内部的循环的赋值操作,就是交换相邻字符串的第一个字符,五个字符串的第一个字符分别是 o t t f f
第一次会让第一个字符串和后四个字符串分别交换四次,最后为,f o t t f
第二次会让第二个字符串和后三个字符串分别交换三次,最后为,f f o t t, 后面的交换和答案已经没关系了
这题你宏观想一下,外层循环执行了四次,但是结果是打印第二行的数据,因此只要推理到i=就行了:
i=0的时候,经过内层循环,最终第一行数据是fne
i=1时,同上,应该变为fwo,因为内层循环是j<5,j=4时,a[1][0]一定会和a[4][0]交换,所以a[1]这一行变为fwo
1、改题是对二维字符数组a的每行首字母进行了移位操作,其他位置字母不变。
2、i = 0时,内循环一遍之后首字母顺序为:f o t t f,之后i++,第一行第一个首字母为f不再改变;i = 1时,内循环一遍之后首字母顺序为:f f o t t,之后i++,第二行第一个首字母为f不再改变
3、输出的是a[1]即第二行,根据第2条的逻辑,第二行在i=1时确定为f,之后不再改变,所以该题选A fwo