nooozi. 2022-04-24 22:55 采纳率: 66.7%
浏览 16
已结题

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

#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条回答 默认 最新

  • zeekliu 2022-04-24 23:25
    关注

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

    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");
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 5月3日
  • 已采纳回答 4月25日
  • 创建了问题 4月24日