goto文が思うようにいかない
goto文をつくプログラムを組んだのですが、動作が思うようになりません。
《ソースコード》
#include <stdio.h>
void main() {
int c;
char shin2[50];
start:
printf("文字を入力してください");
fgets(shin2, sizeof(shin2), stdin);
printf("続けるなら0,終わるならそれ以外を入力");
scanf("%d",&c);
if(c==0)goto start;
}
説明のため省略した部分があるので意味のないソースコードになっています。
最後のscanfで0を入力して、goto文でラベルstartに移ったあとのfgetsが、値を入力する前に次に移ってしまいます。これはなぜでしょうか?回答よろしくお願いします。