質問: この中で正しく関数を定義できていないものはどれですか?理由も教えてほしいです。
回答: 文法的に明らかに間違っているのは、4です。 関数名の左のvoidで返り値が無いように宣言しているのに、return 0;で整数値を返そうとしています。 「関数」として意味が無いのは、1です。 関数定義の中で、(a + 10)%7を返すようになっていますが、int a = 0;で初期化されているので、常に3が返り値となります。 つまり、定数と変わりないことになります。