• ベストアンサー

Cプログラミングについて

私はBorlandのコンパイラを使ってCプログラミングをやっているのですが、以下のプログラムが実行できません。 どのようにすればコンパイラできるのか教えてください。 非線型方程式f(x)=x^3-x+1の根をニュートン法により求めよ。 /* *-------------------------- *   ニュートン法 * *-------------------------- */ #include <stdio.h> #include <math.h> #define f(x) ((x)*(x)*(x)-(x)+1) #define g(x) (3*(x)*(x)-1) #define EPS 1e-8 #define LIMIT 50 int main(void) { double x=-2.0,dx;   int k; for (k=1;k<=LIMIT;k++){ dx=x; x=x-f(x)/g(x); if(fabs(x-dx)<fabs(dx)*EPS){ printf("iteration=%d\n",k); printf("x=%f\n",x); break; } } if (k>LIMIT) printf("収束しない\n"); } コンパイルしようとすると以下のようなエラーが出ます。 エラー E2206 sample.c 18: 不正な文字 ' ' (0x8140)(関数 main ) エラー E2206 sample.c 18: 不正な文字 ' ' (0x8140)(関数 main ) 警告 W8070 sample.c 32: 関数は値を返すべき(関数 main ) *** 2 errors in Compile *** お答えよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

0x8140どこかに漢字(全角)のスペースと思いますが 入っています コメント以外は全角は受け付けませんので 確認してください

doratao
質問者

お礼

コンパイルでき、実行できました! お答えありがとうございました。

doratao
質問者

補足

全角になっていたので直したらエラーが減りました! しかし、 警告 W8070 sample.c 32: 関数は値を返すべき(関数 main ) というエラーがでてしまいます。これはどういう意味なのでしょうか?

その他の回答 (1)

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.2

★場所。 ・main 関数の宣言部の >  int k;  ↑  ここに全角の文字があります。 ・質問を書き込むと半角は1つになりますが、全角はそのままです。  もし、ソースをそのまま貼り付けたのならば宣言部の k の前に  2つの全角文字があるので半角に修正してからコンパイルしてください。 ・以上。

doratao
質問者

お礼

コンパイルでき、実行できました! お答えありがとうございました。

doratao
質問者

補足

回答ありがとうございます! 回答のとおり全角になっていたので直しましたが、同じエラーが出てしまいます。これはどうしたら良いのでしょうか?

関連するQ&A