C++编译没错误,但一运行什么也没有

img

img


题目是:输入15个整数,存入一维数组,再按从大到小重新存放后输出,要求用指针实现。(大一刚学C语言,好疑惑)希望善良好心的人士指点迷津!

p数组元素是int*,你没有给他们分配空间啊。

参考如下:


#include<stdio.h>

void sort(int *a, int n)
{
    int i,j,t,noswap;
    for(i=0;i< n-1; i++)
    {
        noswap=1;
        for(j=n-1;j>i;j--)
            if(*(a + j - 1) < *(a + j))
            {
                t=*(a + j - 1);
                *(a + j - 1)= *(a + j);
                *(a + j)=t;
                noswap=0;
            }
        if(noswap)    
            break;
    }
}

int main() 
{
     
    int n;
    printf("Input n:");
    scanf("%d", &n);
     
    printf("Input %d numbers:", n);

    int a[n];
    for (int i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }

    sort(a, n);

    printf("Sorting results:");
    for (int i = 0; i < n; i++) {
        printf("%4d", a[i]);
    }

    return 0;
}

img


如有帮助,欢迎采纳哈!

在这里插入图片描述

本人的开源项目,欢迎star支持下!!!