姜肆爷 2021-10-16 19:13 采纳率: 76%
浏览 415
已结题

Visual Studio Code 出现segmentation fault

这是PTA乙级1019的代码,我在网站上运行时没有问题,但在自己的电脑上的VS Code上运行时就显示segmentation fault,这是为什么
输入示例:6767

#include <stdio.h>
#define MAXSIZE 4

void swap( int * a, int * b);

int main(void){
    int n;
    int max;
    int min;
    int N[MAXSIZE] = {0};

    scanf("%d", &n);
    N[0] = n/1000;  //如何取得各位上的数字
    N[1] = (n/100)%10;
    N[2] = (n/10)%10;
    N[3] = n%10;

    if((N[0]==N[1])&&(N[0]==N[2])&&(N[0]==N[3])){  
        printf("%04d - %04d = 0000",n ,n);
    }

    else{
        do{
            int tag = 0;
            if( tag != 0){
                printf("\n");
            }
            for( int p = MAXSIZE-1; p>=0; p--){  //从小到大排序
                int flag = 0;
                for( int i=0; i<p; i++){
                    if( N[i]>N[i+1]){
                        swap( &N[i], &N[i+1]);
                        flag = 1;
                    }  
                }
                if( flag == 0){
                    break;
                }
            }

            max = N[3]*1000 + N[2]*100 + N[1]*10 + N[0];
            min = N[0]*1000 + N[1]*100 + N[2]*10 + N[3];
            n = max - min;

            N[0] = n/1000;  //如何取得各位上的数字
            N[1] = (n/100)%10;
            N[2] = (n/10)%10;
            N[3] = n%10;
            printf("%04d - %04d = %04d", max, min, n);  
            tag++;
        }while( n != 6174);
    }

    return 0;
}

void swap( int * a, int * b){
    int * t;
    *t = *a;
    *a = *b;
    *b = *t;
}
  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2021-10-16 19:21
    关注
    void swap( int * a, int * b){
        int t;
        t = *a;
        *a = *b;
        *b = t;
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月24日
  • 已采纳回答 10月16日
  • 创建了问题 10月16日

悬赏问题

  • ¥15 maccms影视模板 制作影视网站失败 求
  • ¥15 stm32按键设置闹钟数进退位不正常
  • ¥15 三电平逆变器中点电位平衡问题
  • ¥20 这怎么写啊 java课设
  • ¥15 用C语言完成一个复杂的游戏
  • ¥15 如何批量更改很多个文件夹里的文件名中包含文件夹名?
  • ¥50 MTK手机模拟HID鼠标出现卡顿
  • ¥20 求下下面这个数据结构代码
  • ¥20 前端 二进制文件流图片转化异常
  • ¥15 github上的这个C语言项目如何跑起来