宿題として、フィボナッチ数列を生成するプログラムを書くように言われました。だから私は最初のn個のフィボナッチ数を生成するプログラムを書きました.hereは正しく動作しない最初のコードです
# include <stdio.h>
void main()
{
int a = -1, b = 1, c = 0, i, n, sum = 0 ;
printf("Enter the limit : ") ;
scanf("%d", &n) ;
printf("\nThefibonacci series is : \n\n") ;
for(i = 1 ; i <= n ; i++)
{
c = a + b ;
printf("%d \t", c) ;
b=c;
a=b;
}
}
さまざまな組み合わせを試してみたところ、12 行目と 13 行目を入れ替えるとコードがうまく機能することがわかりました。すなわち
# include <stdio.h>
void main()
{
int a = -1, b = 1, c = 0, i, n, sum = 0 ;
printf("Enter the limit : ") ;
scanf("%d", &n) ;
printf("\nThefibonacci series is : \n\n") ;
for(i = 1 ; i <= n ; i++)
{
c = a + b ;
printf("%d \t", c) ;
a=b;
b=c;
}
}
それは同じ論理です。最初のコードで間違った出力が返されるのはなぜですか?
セグメンテーション違反とは何ですか?(私のコンパイラは、私のコードにセグメンテーション違反があると頻繁に教えてくれます)
PS-i は初心者です。C 言語を使い始めてわずか 3 週間で、ループについて学習しています。