jkjkre 2019-03-17 17:16 采纳率: 100%
浏览 4136

【c语言】一维数组的倒序输出

#include <stdio.h>
int *inverse(int *p,int n);
void main(){
    int a[4]={1,2,3,4},*p,i;
    p=inverse(a,4);
    for(i=0;i<4;i++)
        printf("%d",*p);

}
int *inverse(int *p,int n){
    int temp[4],i;
    while(*p)++p;//找到p所指的最后一个元素
    for(i=0;i<n;i++,--p)
    temp[i]=*p;//将p的值赋给temp[i]
    p=temp; 
    return p;
}

不知道错哪里了,输出一串奇怪的数字???

  • 写回答

2条回答 默认 最新

  • zhao1991321 2019-03-17 19:34
    关注

    while(*p)++p;//找到p所指的最后一个元素
    这一步错了。

    评论

报告相同问题?

悬赏问题

  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?