コードをコンパイルするときに予期しない表示「(」の近くで構文エラーが発生してコードを実行できない場合はどうすればよいですか?

コードをコンパイルするときに予期しない表示「(」の近くで構文エラーが発生してコードを実行できない場合はどうすればよいですか?

単純なdo whileループを使用しようとしていますが、実行しようとするとエラーが発生します。

$ ./credit.c
$ ./credit.c: line 4: syntax error near unexpected token `('
$ ./credit.c: line 4: `int main (void)'

これは私のコードです

#include <cs50.h>
#include <stdio.h>

int main  (void)
{
    long number = get_long("Number: ");
    printf("%li\n",number);
}

何が問題なの?

関連情報