下列
System.out.printf
语句输出的结果是什么? Char a[]={„a‟,‟b‟,‟c‟,‟d‟,‟e‟}; For(i=0; i<=a.length/2; i++)
{ char c=a[i]; a[i]=a[a.length-(i+1)]; a [a.length-(i+1)]=c;
}
System.out.printf(“%c%c%c%c%c”a[0],a[1],a[2
],a[3],a[4]);
输出:
e,d,c,b,a
对于“For(i=0; i<=a.length/2; i++) ”
循环,i从0开始,至2结束,每循环一次,i的值加1;
//据题意,a.length=5 且 i应该是整型数据,所以a.length/2=2
对于
For(i=0; i<=a.length/2; i++)
{ char c=a[i]; a[i]=a[a.length-(i+1)]; a [a.length-(i+1)]=c;
} 第一次:i=0;
c=a[0]=a
a[0]=a[5-1]=a[4]=e
a[4]=a[0]=a
此时数组如下:
Char a[]={„e‟,‟b‟,‟c‟,‟d‟,‟a‟}; 第二次:i=1;
c=a[1]=b
a[1]=a[5-2]=a[3]=d
a[3]=a[1]=d
此时数组如下:
Char a[]={„e‟,‟d‟,‟c‟,‟b‟,‟a‟}; 第三次:i=2;
c=a[2]=c
a[2]=a[5-3]=a[2]=c
a[2]=a[2]=c
此时数组如下:
Char a[]={„e‟,‟d‟,‟c‟,‟b‟,‟a‟}; 三次循环执行结束就是最后结果。