zoukankan      html  css  js  c++  java
  • Segmentation fault (core dumped)

    以下程序不小心在11行scanf()中把parr写成了*parr,在编译时没问题,但在运行时出现:

    [lujinhong@lujinhong chapter12]$ gcc reverse3.c
    [lujinhong@lujinhong chapter12]$ ./a.out
    Enter 10  number: 19 76 8 93 766 8 6 934 0 -3
    Segmentation fault (core dumped)


    #include <stdio.h>
    
    #define ARRAY_SIZE 10
    
    int main(void){
    
        int arr[ARRAY_SIZE], *parr;
    
        printf("Enter %d  number: ", ARRAY_SIZE);
        for(parr=arr; parr<arr+ARRAY_SIZE; parr++){
            scanf("%d", *parr);
        }
    
        printf("The number will output in reversal order:\n");
        for(parr=arr+ARRAY_SIZE-1; parr>=arr; parr--){
            printf("%d\t",*parr);
        }
        printf("\n");
    
        return 0;
    } 

    Segmentation fault (core dumped)一般是对内存操作不当造成的,常见的有:

    (1)数组超出范围。

    (2)修改了只读内存。

    (3)还有本例也是修改了只读内存。



  • 相关阅读:
    Day10
    Day9
    Day8
    Day7
    Day 6
    Day5
    第一周计划
    事件总线模式辨析
    解释器模式辨析
    解释器模式深度探究
  • 原文地址:https://www.cnblogs.com/jediael/p/4304247.html
Copyright © 2011-2022 走看看