質問: エラーが発生してしまいます。 33:6: エラー: ‘char_plus’ と型が競合しています 33 | char char_plus( char c , int k ) | ^~~~~~~~~
回答: エラーメッセージを理解するようになるのが上達の近道です。 1つは、ssum関数のプロトタイプ宣言と実装で 戻り値の型が異なっていることが原因です。 :39:8: エラー: ‘ssum’ と型が競合しています 39 | double ssum( double x, int k ) | ^~~~ :4:5: 備考: 前の ‘ssum’ の宣言はここです 4 | int ssum(double,int); | ^~~~ と書いてある通り、4行目では int ssum(double,int); と書いてあるのに 39行目では double ssum( double x, int k ) となっています。 このプログラムでの戻り値の型はdoubleが正解なので、3行目を double ssum(double,int); に変えてあげてください。 もう1つは、下の方も書いていますが、同じ関数名が2つあるのが原因です。 「char_plus(c , k)を実行しろ」と言われても 「どっちのchar_plusだよ!」と怒られるだけです。 対策も下の人が書いている通り int char_plus( char,int ); int char_plus3( char,int ); //ココを追加 double ssum(double,int); // さっき直したトコロ int main( void ) { ... } ... /* 文字 c の ( k + 3 ) 個後の文字を返す */ char char_plus3( char c , int k ) // ココを変更 { ... } のように、関数名を変えてあげてください。