• ベストアンサー

コンパイルエラー

Borlnd C++ compilerでコンパイルしたのですが、どうしてもエラーがでてしまいます。エラーは、不正な文字’’(0×8140)(関数 main) エラーE2206 文字' ' (0×8140)(関数 main) エラーE2206と二つ同じエラーがあると表示されます。本当に分からないので力を貸したください。お願いします。 /*読み込んだ二つの整数値の大きい方の値を求めて表示(条件演算子)*/ #include <stdio.h> int main(void) { int n1, n2, max; puts("二つの整数を入力してください。");   printf("整数1 : "); scanf("%d", &n1); printf("整数2 : "); scanf("%d", &n2); max = (n1 > n2) ? n1 : n2; printf("大きい方の値は%dです。\n", max); return 0;

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

  • ベストアンサー
  • NNori
  • ベストアンサー率22% (377/1669)
回答No.4

>>この全角のスペースは、質問する時にできてしまったもので、メモ帳で、書いたものにはスペースはありません。 うーん、じゃあ我々ではわかりませんねぇ。何を頼りに回答すればよいやら。 私はこういう時、とりあえずオリジナルをとっておいてソースを半分にしてみてコンパイルします。それが通れば残りの半分というようにエラーの箇所を地道に特定します。しかし普通はエラーで行番号がでると思うんですけど、表示されてないのですか?

gsosba
質問者

お礼

ご回答ありがとうございます。

gsosba
質問者

補足

エラーE2206 test.c 11;f不正な文字’ ’(0×8140)(関数main)というエラーが二つでます。

その他の回答 (4)

  • frontier2
  • ベストアンサー率53% (15/28)
回答No.5

どうやって全角スペースをチェックしたのかわかりませんが 0x8140は全角スペースです。 他の方の回答の通り、ソースコード中に全角スペースが含まれています。

参考URL:
http://www.hidecnet.ne.jp/~sinzan/tips/vc/vc_tip0b.htm
gsosba
質問者

お礼

参考になりました。問題点は、指摘どうり全角スペースだした。ご回答ありがとうございます。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

全角スペースがあります。

gsosba
質問者

お礼

ご回答ありがとうございます。

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.2

プログラムで字下げをする場合は、 TABか、半角スペースを使いましょう。 コンパイルの前に、全角スペースを検索 チェックしてみてはいかがですか?

gsosba
質問者

お礼

ご回答ありがとうございます。

gsosba
質問者

補足

全角スペースをチェックしたけど、大丈夫でした。たぶんスペースは関係ないと思うのですが。

  • NNori
  • ベストアンサー率22% (377/1669)
回答No.1

printf("整数1 : "); の前に全角のスペースが2個あるけどこれじゃないですかね。

gsosba
質問者

お礼

ご回答ありがとうございます。

gsosba
質問者

補足

この全角のスペースは、質問する時にできてしまったもので、メモ帳で、書いたものにはスペースはありません。

関連するQ&A

  • コンパイル後アプリケーションエラー・・・

    #include<stdio.h> void main(void) { int n1, n2, sum; printf(\"整数n1を入力して下さい:\"); scanf(\"%d\", n1); printf(\"整数n2を入力して下さい:\"); scanf(\"%d\", n2); sum = n1 + n2; printf(\"n1とn2の合計は%dです\\n\", sum); } と入力しコンパイルしたらアプリケーションエラーとなりました。何が原因なのでしょうか? 本に書いてあるとおりに入力し、何度も見直したのですが… あとsum = n1 + n2と書いたのですが、sum=n1+n2でも問題はないのでしょうか? こんな初歩の初歩のことでスミマセン。 宜しくお願いします。

  • コンパイルエラー

    このソースを実行しても、コンパイルエラーになります。エラーメッセージは、 エラーE2449で19行目で、'eng'のサイズが不明またはゼロとでます。これが、二つ出ます。また20行目の'mat'も一緒のが二つでます、ほかにもでるのですが、これが、分からないので教えてください。宜しくお願いします。また、int max= vc[0];の意味も教えてください。 #include <stdio.h> #define NUMBER int max_of(int vc[ ],int no) { int i; int max = vc[0]; for (i=1; i< no; i++) if(vc[i] > max) max= vc[i]; return(max); } int main(void) { int i; int eng[NUMBER]; /*数学の点数*/ int mat[NUMBER]; /*英語の点数*/ int max_e, max_m; /*最高点*/ printf("%d人の点数を入力してください。\n", NUMBER); for (i=0; i<NUMBER; i++) { printf("[%d] 英語 :",i+1); scanf("%d", &eng[i]); printf(" 数学 :"); scanf("%d", &mat[i]); } max_e = max_of(eng, NUMBER); /*英語の最高点*/ max_m = max_of(mat, NUMBER); /*数学の最高点*/ printf("英語の最高点=%d\n", max_e); printf("数学の最高点=%d\n", max_m); return (0); }

  • コンパイルエラー

    コンパイルしても、12行目(printf("%d番目の整数を入力してください。"i+1);が、関数呼び出しに)がないとでます。でもどこが間違っているか分かりません。 教えてください。お願いします。 #include <stdio.h> int main(void) { int num; int sum=0; int i; for(i=0; i<10; i++){ printf("%d番目の整数を入力してください。"i+1); scanf("%d", &num); sum+=num; } printf("合計は、%dです。\n", sum); return(0); }

  • if文を条件演算子に書き換えについて・・・

    /* 読み込んだ三つの整数値の最大値を求めて表示 */ #include <stdio.h> int main(void) { int n1, n2, n3, max; puts("三つの整数を入力してください。"); printf("整数1:"); scanf("%d", &n1); printf("整数2:"); scanf("%d", &n2); printf("整数3:"); scanf("%d", &n3); max = n1; if (n2 > max) max = n2; if (n3 > max) max = n3; printf("最大値は%dです。\n", max); return (0); } 上記のソースコードを、条件演算子を用いた形にするという問題なのですが、初心者で理解しずらいところもありどうやっても同じ結果を出すことが出来ないため質問させていただきました。 ご教授お願いしますm(_)m

  • Cのプログラミングを勉強中です。

    Cのプログラミングを勉強中です。 Aの値のBに対する割合を表示すしたいのですが、以下のように記述してもうまくいきません。 どこを直したらよいか教えていただけますか。 #include <stdio.h> int main(void) { int n1 , n2 ; printf("二つの整数を入力してください。\n"); printf("整数A:"); scanf("%d", &n1); printf("整数B:"); scanf("%d", &n2); printf("Aの値はBの%d%%です。\n" , n1 / n2 * 100 ); return(0); }

  • C言語 どこがコンパイルエラーか解りません。

    いつも大変お世話になっております。 標記の件。 どこがエラーなのか解りません。 2時間くらい、にらめっこが続いています。 どこがエラーなのか教えて下さい。 ご回答のほどよろしくお願い申し上げます。 コード #include <stdio.h> int a = 0; void func(void) { int c = 2; printf("func関数では変数aとcが使えます。¥n”); printf("変数aの値は%dです。\n",a); /*printf("変数bの値は%dです。\n",b);*/ printf("変数cの値は%dです。\n",c); } int main(void) { int b = 1; printf("main関数では変数aとbが使えます。\n"); printf("変数aの値は%dです。\n", a); printf("変数bの値は%dです。\n", b); /*printf("変数cの値は%dです。\n", c); */ func(); return 0; } コンパイルエラー printf("func関数では変数aとcが使えます。¥n”); ^ text10.c:9:8: error: missing terminating " character printf("func関数では変数aとcが使えます。¥n”); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ text10.c:10:34: error: expected ')' before ';' token printf("変数aの値は%dです。\n",a); ^ text10.c:10:1: warning: passing argument 1 of 'printf' makes pointer from integer without a cast [-Wint-conversion] printf("変数aの値は%dです。\n",a); ^~~~~~ In file included from text10.c:1:0: c:\mingw\include\stdio.h:454:38: note: expected 'const char *' but argument is of type 'int' _CRTIMP __cdecl __MINGW_NOTHROW int printf (const char *, ...); ^~~~~~ text10.c:13:1: error: expected ';' before '}' token } どうかよろしくお願いいたします。

  • C言語 エラー

    void kbd2(int *n, int *m, int w, int z){ int p=0; while(p==0){ while(p!=2){ printf("Type two integers:"); p=scanf("%d%d", n,m); if(p!=2){ scanf("%*s"); printf("Error: Not an integer!\n"); p=0; } else { if(0>*n || 0>*m || w<*n || z<*m){ scanf("%*s"); printf("Error: Out of range!\n"); p=0; } } } } } C言語にて、非負整数を2つ入力しようとしているのですが、main関数内でw=3,z=4にし、キーボード入力でw,z以上の数値を入力するとそこから先が止まってしまいます。(エラーメッセージがでません) しかし、そのあとに0以上w,z以下の整数を入力すると、*nまたは*m(w、z以上に入力したほう)がw、z以上の数値(始めに与えた数値)としてでてきます。 どこが悪いのでしょうか? 改善すべき点を教えてください。。。 なお、scanfは使う方向性でよろしくお願いします。 ちなみに、main関数内はこれです。 int main(){ int va=-1; int vb=-1; int amax=3; int bmax=4; kbd2(&va, &vb, amax, bmax); printf("OK: %d,%d", va, vb); return 0; }

  • ポインタエラー?

    コンパイルエラーで、つまづいてます 型が合ってないというのはわかるのですが どうしたらいいのかわかりません どこを改善すればいいでしょうか 問題とソースです↓ ソースは色々てを加えたので変なものが混じってます。 関数ichi()を作成し、プログラムを完成させよ。 main内部を変更してはならない。 (見つからない場合も考慮されている事に注意せよ。) #include <stdio.h> #define MAX 10 int *ichi(int *,int); int main() { int x[MAX], i, n, *p; for (i = 0; i < MAX; ++i) { scanf("%d", &x[i]); } scanf("%d", &n); p = ichi(x, n); if (p) { printf("%d ha %d ko me ni arimashita\n", n, p-x); } else { printf("%d ha arimasen desita\n", n); } return 0; } int *cnt; int * ichi(int *x,int n) { //int cnt; //cnt = 0; while(*x){ if(*x == n){ cnt = &n; //cnt = x; //return x; return cnt; } *x++; } return NULL; }

  • visual studio 2013のエラー

    #include <stdio.h> int main(void) { int n1, n2; int wa; puts("二つの整数を入力してください。"); printf("整数1:"); scanf_s("%d", &n1); printf("整数2:"); scanf_s("%d , &n2") wa = n1 + n2; printf("それらの和は%dです。\n", wa); return 0; } エラー 1 error C2146: 構文エラー : ';' が、識別子 'wa' の前に必要です。 c:\users\伸之\documents\visual studio 2013\projects\training\source.cpp 10 1 training 2 IntelliSense: ';' が必要です c:\Users\伸之\Documents\Visual Studio 2013\Projects\training\Source.cpp 9 2 training のエラーが出たなんですけど、原因がわかりません。 よろしくお願いします。

  • わかりません・・・。

    二つの自然数を引数として与えられて,それらの最大公約数を返す関数 int gcd(int m, int n) { /* … */ }を作成し,それを利用して入力された二つの正整数の最大公約数を求めるプログラムを作り方を教えてください。 ユークリッドの互除法を使い、関数を使う事が条件なのですが全然わかりません。 #include<stdio.h> int gcd(int m, int n) if(m>n) {m%n}            if(m%n==0) printf("最大公約数は%d",n); ←このあたりがわかりません else if (n%(m%n)) printf("最大公約数は%d",n%(m%n)); int main( void ) { int na, nb; puts(""二つの整数を入力してください。); printf("整数1:"); scanf("%d",na); printf("整数2:"); scanf("%d",nb); printf("最大公約数は%dです。\n",gcd(int m, int n)); return0; }

専門家に質問してみよう