今天看书,有道题不会,求解:
假设以下代码用于将数组中的内容进行反转,解释为什么它是错误的,以及如何进行修正?
int[] list={1,2,3,4,5};
for(int i=0,j=list.length-1;i<list.length;i++,j--){
    int temp=list[i];
    list[i]=list[j];
    list[j]=temp;
}Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
因为循环的终止条件写错了啊,终止提交应该是i >= j.代码如下:
记住代码格式规范也很重要啊,操作符前后加空格啊!!!
翻过去又翻回来了,
判断条件修改下为
Java不会,不过不影响。这题与语言类型无关。
给你个PHP的答案:
代码:
输出:
正确代码(未严格测试):
你是想从两边向数组中间互换,循环到一半就达到了互换的要求了,然后你执行后一半循环的时候,又换回去了。if判断条件改为数组长度的一半,就达到要求了。