簡體   English   中英

每當我運行C代碼時,就會返回Segmentation Fault

[英]Segmentation Fault returned whenever I run my C code

我是C的新手,來自Java。

我制作了以下簡單的程序,編譯很好,但每當我運行它時,nano會拋出一個分段錯誤。 它的目的是遍歷數組並讓它在一個單獨的行上打印出每個元素。

int main()
{
    int array[5] = {1, 2, 3, 4, 5};
    int i = 0;
    for (i = 0; i < sizeof(array); i++)
    {
            puts(array[i]);
    }
}

我究竟做錯了什么?

首先, puts采用空終止字符串,而不是整數。 其次,要確定數組中元素的數量,請使用sizeof(array)/sizeof(array[0]) ,因為sizeof(array)sizeof(array)的總字節數。 第三,使用int main(void)作為標准C.試試這個:

int main(void)
{
    int array[5] = {1, 2, 3, 4, 5};
    int i = 0;
    for (i = 0; i < sizeof(array) / sizeof(array[0]); i++)
    {
            printf("%d\n", array[i]);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM