本帖最后由 张林杰 于 2013-4-15 21:27 编辑
楼上说得都对,楼主的代码应该改为如下这样,使用if-else-if语句,
错误原因是你对数组中的每个元素都进行了两次条件判断,比如对于第一个if语句,当i=0时,10>0, 条件成立,输出11; 接下来还要判断第二个if语句,10<0, 条件不成立,执行else语句 再次输出,输出的值为10,这样就产生了错误,你自己可以单步调试 看看- static void Main(string[] args)
- {
- int[] number = new int[] { 10, -12, 16, 0, 9, 32 };
- for (int i = 0; i < number.Length; i++)
- {
- if (number[i] > 0)
- {
- Console.Write("{0} ", number[i] + 1);
- }
- else if (number[i] < 0)
- {
- Console.Write("{0} ", number[i] - 1);
- }
- else
- {
- Console.Write("{0} ", number[i]);
- }
- }
- Console.ReadKey();
- }
复制代码 |