标题:高手看一下为什麽在调用函数中不可交换
只看楼主
sunlee
Rank: 2
等 级:论坛游民
帖 子:77
专家分:15
注 册:2011-10-14
结帖率:70.59%
已结贴  问题点数:20 回复次数:3 
高手看一下为什麽在调用函数中不可交换
//元素逆置用递归调用来做
#include<stdio.h>//写出头文件和对调用函数的声明
#include<conio.h>
void inverse(int b[],int n);
 
main(){
    int a[10],*q=a,i=0;//定义变量,并给使用指针并初始化
    printf("please input all the numbers and end at $\n");// 给变量赋值用地址法
    while(scanf("%d",q)==1)
    {q++;i++;}
    printf("\n");
    q=a;
    inverse(q,i);    //调用函数
    printf("the inverse of the numbers is:\n");
    for(;q<a+i;q++)//输出其逆置后的函数
    printf("%d\t",*q);
    }
   
    void inverse(int b[],int n)//写出被调用函数
      {
          int i=0,k=n-1,m;
          while(k<=i){
                 m=b[i];
             b[i]=b[k];
             b[k]=m;
              i++;
              k--;
          }
          为什么这个程序不可以倒置
搜索更多相关主题的帖子: 声明 include numbers please 元素 
2011-11-09 13:03
sunlee
Rank: 2
等 级:论坛游民
帖 子:77
专家分:15
注 册:2011-10-14
得分:0 
有个人回答一下啊?速度啊
2011-11-09 13:04
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
得分:20 
void inverse(int b[],int n)//写出被调用函数
      {
          int i=0,k=n-1,m;
          while(k<=i){   /这里错了,是k>i
                 m=b[i];
             b[i]=b[k];
             b[k]=m;
              i++;
              k--;
          }
2011-11-09 13:16
sunlee
Rank: 2
等 级:论坛游民
帖 子:77
专家分:15
注 册:2011-10-14
得分:0 
哦,那个小错误啊,谢谢
2011-11-09 13:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-354700-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.496118 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved