程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c語言-C語言寫的倒序小程序,麻煩大家看看

c語言-C語言寫的倒序小程序,麻煩大家看看

編輯:編程綜合問答
C語言寫的倒序小程序,麻煩大家看看

#include
#include
void reverse(int p,int *q)
{
int j=0,i=0,N=8,k=N/2;
for(;j<=N-1;j++) //雷德算法
{
*(p+j)=
(q+i);
while(k<=i)
{
i=i-k;
k=k/2;
}
i=i+k;
k=N/2;
}
}

int main()
{
int a[]={1,2,3,4,5,6,7,8};
int b,*c,i;
b=a;
c=(int
)malloc(sizeof(int)*8);
reverse(c,b);
for(i=0;i<8;i++)
printf("%d",*(c+i));
return 0;
}
編譯沒問題,運行也沒提示出錯,但就是一直卡在那,光標閃爍,沒有顯示結果,求大神解答

最佳回答:


#include <stdio.h>
#include <stdlib.h>

void reverse(int *p,int *q) {
  int j=0,i=7,N=8;
  for(;j<=N-1;j++, i--) {
    *(p+j) = *(q+i);
  }
}
int main()
{
  int a[]={1,2,3,4,5,6,7,8};
  int *b,*c,i;
  b=a;
  c=(int *)malloc(sizeof(int)*8);
  reverse(c,b);
  for(i=0;i<8;i++)
    printf("%d ",*(c+i));
  putchar('\n');
  free(c);
  return 0;
}


反轉沒那麼復雜吧

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved