这个程序输出的结果为什么没变,要怎么改呢

#include<stdio.h>
void fun( int a, int b)
{ int t;
t=a;a=b; b=t;
}
void main
{ int c[10]={1,2,3,4,5,6,7,8,9,0} , i;
for(i=0;i<10;i+=2) fun(c[i], c[i+1]);
for(i=0;i<10;i++)
printf("%d," ,c[i]);
printf("\n);
}

这个要改的地方就是把数组开成全局的,然后就可以在函数里对数组进行操作了,不过要注意:

  1. 原代码里有2处使用中文分号
  2. 原代码里有些大括号匹配错误
  3. 原代码引号没加后引号

参考代码:

#include<stdio.h>

int c[10]={1,2,3,4,5,6,7,8,9,0};

void fun(int i)
{ 
    int t;
    t=c[i];c[i]=c[i+1];c[i+1]=t;
    return;
}
int main()
{ 
    int i;
    for (i=0;i<10;i+=2) fun(i);
    for (i=0;i<10;i++)
    printf("%d," ,c[i]);
    printf("\n");
}