首先你要明白a[i]是一个数组,通过数组下标i来赋值,代表一个值,然后把这个值赋予中间变量t;此时t=a[i]; 然后数组a[n-i-1]又代表另一个值,这个数组下标值又赋予之前的数组a[i]。赋值后t和a[i]已不相等了; 最后再把之前的中间变量赋与a[n-i-1]。
打个比方。a=b;b=c;c=a这是同一个道理。其实楼上说得挺明白的。就是b与c通过中间的a交换值
以中间的数为对称线两边交换的意思
a[i],a[n-i-1]的值,通过中间变量,达到交换的目的
假设原先的a[i]=1,a[n-i-1]=2;
那么执行这段代码后的结果为:
a[i]=2,a[n-i-1]=1;
例如1 3 2 4 5 交换变成5 4 2 3 1
t=a[i]; a[i]=a[n-i-1];a[n-i-1]=t
这是交换的意思
就是把a[i],a[n-i-1]的值,通过中间变量,达到交换的目的
假设原先的a[i]=1,a[n-i-1]=2;
那么执行这段代码后的结果为:
a[i]=2,a[n-i-1]=1;
明白了吗?
没有什么不同 ,只是写法上面的差异罢了。。。
两个访问的是相同的元素,如果里面的n-1-i值是合理范围的话!
交换a[i]与a[n-i-1]的位置,你可以试下数就知道语句啥意思了。
标签: