カンパ〜イ!←最初の1杯目、なに頼む?

c言語をgcc.exeにコンパイルしとうとしています。
#include <stdio.h>

#include <stdlib.h>

#include <math.h>


float kaijoukeisan(int k);


void main(void) {

    /* 制度を変更して表かする

     * %fの表示桁数を調整する必要がある

     * 十分に精度が上がらない場合、どんなプログラムの工夫が必要でしょうか?

     * その考察結果をwordのドキュメントして提出してください。

     * */

  int k; double kekka, fkaijou=1, seido=0.00000001;

    puts(" *** 自然対数の計算とmath.hの定数eの比較・検討 ***\n"); /* prints  */

  kekka = 1; k = 1;

    while (fkaijou>=seido) {

        fkaijou = kaijoukeisan(k);

        k++;

        kekka = kekka + fkaijou;

        printf("%d %1.12f %1.12f\n", k, kekka, fkaijou);//検証用

    }

    printf("精度=%1.12f\n自然対数の計算結果\n %1.12f\nmath.hのe\n %1.12f\n", seido, kekka, exp(1));

    return;

}

float kaijoukeisan(int k) {

    double f; int j, kaijou=1;

    for (j=1; j<=k; j++) { kaijou = kaijou * j; }

    f = (double)1/kaijou;

    return f;

}

で、このような誤謬が発生していますが、何が問題でしょうか。見直してもよく分かりません。
D0302.c: 関数 'main' 内:

D0302.c:17:1: エラー: プログラム内に逸脱した '\343' があります

 縲€縲€int k; double kekka, fkaijou=1, seido=0.00000001;

 ^

D0302.c:17:2: エラー: プログラム内に逸脱した '\200' があります

 縲€縲€int k; double kekka, fkaijou=1, seido=0.00000001;

  ^

D0302.c:17:3: エラー: プログラム内に逸脱した '\200' があります

 縲€縲€int k; double kekka, fkaijou=1, seido=0.00000001;

   ^

D0302.c:17:4: エラー: プログラム内に逸脱した '\343' があります

 縲€縲€int k; double kekka, fkaijou=1, seido=0.00000001;

    ^

D0302.c:17:5: エラー: プログラム内に逸脱した '\200' があります

 縲€縲€int k; double kekka, fkaijou=1, seido=0.00000001;

     ^

D0302.c:17:6: エラー: プログラム内に逸脱した '\200' があります

 縲€縲€int k; double kekka, fkaijou=1, seido=0.00000001;

      ^

D0302.c:19:1: エラー: プログラム内に逸脱した '\343' があります

 縲€縲€kekka = 1; k = 1;

 ^

D0302.c:19:2: エラー: プログラム内に逸脱した '\200' があります

 縲€縲€kekka = 1; k = 1;

  ^

D0302.c:19:3: エラー: プログラム内に逸脱した '\200' があります

 縲€縲€kekka = 1; k = 1;

   ^

D0302.c:19:4: エラー: プログラム内に逸脱した '\343' があります

 縲€縲€kekka = 1; k = 1;

    ^

D0302.c:19:5: エラー: プログラム内に逸脱した '\200' があります

 縲€縲€kekka = 1; k = 1;

     ^

D0302.c:19:6: エラー: プログラム内に逸脱した '\200' があります

 縲€縲€kekka = 1; k = 1;

質問者からの補足コメント

  • 直してもできないですが。。何が問題ですかね

      補足日時:2021/10/11 20:20

A 回答 (4件)

字下げに全角空白を使っているので、この部分をタブか半角空白に直すこと


□□int k;
□□kekka = 1; k = 1;

参考:
"\343\200\200"
↓ 8進数を16進数に
"\xE3\x80\x80"
↓ バイト配列
E3 80 80
↓ UTF-8 のデコード
U+3000 = IDEOGRAPHIC SPACE
https://unicode-table.com/jp/3000/
    • good
    • 0

>直してもできないですが


どうなったんですか?
\343\200\200 がUTF8の全角スペースなのは間違いありません。
全角スペースを半角スペースに置きかえれば状況は変わるはずです。

sakuraとか全角スペースの見えるエディタを使ってますか?
    • good
    • 0

エラーを起こしているのはUTF8の全角空白ですね。


#エラーはsjisだけど。

空白は全て半角にしましょう。
    • good
    • 0

おそらく全角空白です。


半角空白に直しましょう
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報