|
发表于 2016-8-6 17:29:59
|
显示全部楼层
本帖最后由 廿文廿武 于 2016-8-6 17:32 编辑
楼主用的什么IDE,神了,你一步一步的调试就知道是什么回事了,前面的FOR循环只是把数组里的元素改来改去,循环结束后a[1]被改成fwo了,当然是输出这个结果了。
- #include <stdio.h>
- int 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[i][0] > a[j][0])
- {
- t = a[i][0];
- a[i][0] = a[j][0];
- a[j][0] = t;
- }
- }
- }
- puts(a[1]);
- return 0;
- }
复制代码
一是像这种给出字符串的二维数组,如a[0][0]这种是对应哪个字符串或者说对应哪个字符串的字母?
a[0][0] = 'o' a[1][1] = 'w' a[4][1] = 'i'
二是它要输出的是a[1],这是什么意思呢,怎么就得到fwo了?
a[1]会输出fwo上面说过了,如果没循环之前的结果就是
a[0] = "one"
a[1] = "two"
a[2] = "three"
a[3] = "four"
a[4] = "five" |
|