###C言語の初心者です
最近プログラミングの勉強を始めた者です。
質問するのが初めてなので、かなりおかしな所があると思います。すみません
今、関数のreturn文を使って点数の評価を求めるプログラムを書きましたが、
コンパイルエラーの意味が分かりません。(エラー文の日本語自体はわかります)
どういうことかというと、return最後に記述し、値を戻したはずなのにそれでも
エラー文には「値を返すべき」と表示されます。
エラーメッセージ
警告 W8019 戻り値点数.c 59: コードは効果を持たない(関数 getlank ) エラー E2379 戻り値点数.c 59: ステートメントにセミコロン(;)がない(関数 getlank ) 警告 W8070 戻り値点数.c 64: 関数は値を返すべき(関数 getlank ) 警告 W8004 戻り値点数.c 64: 'lank' に代入した値は使われていない(関数 getlank ) *** 1 errors in Compile *** ### ```C言語 ```#include <stdio.h> //関数のプロトタイプ宣言 char getlank(double ave); void main() { //ローカル変数の宣言 double ave; char lank[10]; //評価 //関数で求めた結果を格納したり、表示のため int index; //添字 //main()専用のローカル変数 int i; //添字 //点数を入力 printf("平均点を入力"); scanf("%lf" ,&ave); //評価を求める for(index=0; ave>=0;index++) { lank[index]=getlank(ave); //平均から評価を求める //次の点数を入力 printf("点数を入力してください"); scanf("%lf" ,&ave); } //評価を表示 printf("評価:"); for(i=0;index<i;i++) { printf("%c" ,lank[i]); } } // 評価を求める関数 char getlank(double ave) { // *ave = 点数 char lank; if (ave>= 80) { lank='A'; } else if (ave>=60) { lank='B'; } else (ave>=40) { //59行目です lank = 'C'; } return lank; } //64行目です ###試したこと まずはセミコロンがつくべきところについているか確認しましたが ダメな所はないように見えます。しかし「エラー E2379 戻り値点数.c 59: ステートメントにセミコロン(;)がない(関数 getlank )」と表示されます。 なぜこのようなずれた位置のことに指摘が来るのでしょうか ###補足情報(言語/FW/ツール等のバージョンなど) より詳細な情報
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/10 22:42
2017/05/11 00:17