• 締切済み

コンパイルエラー

こんにちは。 本を見ながらソースコードを打って、コンパイルをすると、 「'sample8' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 と表示されます。 コンパイルソフトは、 bcc1です。 問題のソースコードはこれです。↓ #include <stdio.h> main () { int i = 1; tloat f = 0.2; double d = 1.25; printf("変数i:%d f:%f d:%lf", i, f, d); return 0; } 理由の分かる方は回答お願いします。

みんなの回答

  • Interest
  • ベストアンサー率31% (207/659)
回答No.4

> 本によると、sample8.cを作って、 > C:\source>sample8.exe > で、コンパイルができると書いてあります。 世の中に沢山Cコンパイラがありますが、このようなコンパイラは見たことがありません。(bccの間違いではなくて?)bcc1 というコンパイラがあるのでしたら普通は、コマンドプロンプトで bcc1 sample8.c と入力すると、コンパイルされて sample8.exe ができるものだと思います。

yamanomi
質問者

お礼

うーん。 やはり本が間違っているんですかねぇ。 回答のようにやってみます。 回答ありがとうございました。

yamanomi
質問者

補足

あっ! 解決しました。 じぶんの見間違いのようでした^^; すいませんでした。

全文を見る
すると、全ての回答が全文表示されます。
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

う~ん.... #1 が正解かなぁ. ソースファイルを作るだけじゃダメで, コンパイラ (bcc1?) を動かさないと実行ファイルである sample8.exe はできません. この実行ファイルがないからコマンドプロンプトが文句を言っています. で, 本当に > 本によると、sample8.cを作って、 > C:\source>sample8.exe > で、コンパイルができると書いてあります。 なんてことが書いてある本だったら捨てちゃってください. こんなところから間違ってる本は, きっと有害無益だと思います.

yamanomi
質問者

お礼

そうですか・・・ でも、ほかのファイル(sample.Cファイル)をほんのとうりにコンパイルしてみると、エラーはでないんです。 不思議なものです。

yamanomi
質問者

補足

あっ! 解決しました。 じぶんの見間違いのようでした^^; すいませんでした。

全文を見る
すると、全ての回答が全文表示されます。
  • 0KG00
  • ベストアンサー率36% (334/913)
回答No.2

コンパイルエラーではなくてDOSプロンプトのエラーです。 ソースのファイル名やコンパイラをチェックしてみてください。 どういう経緯でそのメッセージが表示されたのかを教えてください。 ※ソース自体に問題は無いような。

yamanomi
質問者

お礼

ソースコードを、打って、sample8.Cファイルで保存。C:\cource>sample8.exeと入力して、Enterを押すと、エラーメッセージがでました。

yamanomi
質問者

補足

あっ! 解決しました。 じぶんの見間違いのようでした^^; すいませんでした。

全文を見る
すると、全ての回答が全文表示されます。
  • PED02744
  • ベストアンサー率40% (157/390)
回答No.1

コンパイルをしたコマンドがおかしいのであって、ソースがおかしいのではないとおもいます。 ソースも一部おかしいような気がしますが、この時点で問題にするところではないでしょう。 どんなコンパイルコマンドを入力したのですか? コンパイルソフトがBCC1だとしたら PATH= に BCC1.EXEが存在するパスを通して、 C:\> BCC1 (コンパイルオプション) Cソースファイル名(多分 sample8.c) として、sample8.exeを作成してから C:\> sample8 としないとだめですが?

yamanomi
質問者

お礼

本によると、sample8.cを作って、 C:\source>sample8.exe で、コンパイルができると書いてあります。 (sourceは、ソースファイルのあるフォルダです。)

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • コンパイル時のエラー

    毎度c言語の質問でお世話になっております。 ついにコンパイル方法が分かり、いろいろと オブジェクトファイルを作っていますが、 また、わからないことが出てきました。 コンパイルするとエラーになります。 このようにプログラミングすると下のようなエラーが 出てきます。 なぜなのでしょうか? 回答お願いします。 #include <stdio.h> main () { int i = 1; float f = 0.2; double d = 1.25; printf("変数i:%d f:%f d:%lf", i, f, d); return 0; } エラー内容 stray \129 in program stray @ in program   

  • コンパイルエラー

    コンパイルしても、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); }

  • 【エラー】Cpadで初めてコンパイル

    Cpad for Borlandで以下のようなソースを書きコンパイルをしましたが、失敗し、行き詰っております。 当方、初プログラミングに挑戦しております。 <環境> OS:XP(HOME) コンパイラ:Borland C++ Compiler エディタ:Cpad for Borland <動作状況> ソース: #include <stdio.h> int main ( void ) { printf(mori); return 0; } エラー情報: 「コンパイルに失敗しました。 ファイル"ファイル"D:\source\test1.exe"は存在しません」 参考情報(参考にならないかもしれませんが…): ・コンパイラはDドライブにインストールしております。 ・コンパイラのパスはD:\borland\bcc55\Bin\bcc32.exeです。 以上、よろしくお願いいたします。

  • コンパイルエラー

    このソースを実行しても、コンパイルエラーになります。エラーメッセージは、 エラー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); }

  • コンパイル結果が違う

    コンパイル結果が違う C言語を勉強中の初心者です。 以下のプログラムをVC++6.0のCL.exeでコンパイルするとうまくいくのですが、VC++2010のCL.exeでコンパイルして実行すると、t2の値が0になってしまいます。 また、VC++2010でコンパイルした方が実行結果も遅いです。 #include <stdio.h> #include <time.h> int main(void) { int i = 1; time_t t1, t2; time(&t1); while(i <= 30000) printf("%d,", i++); time(&t2); printf("\ntime1=%ld time2=%ld\n", t1, t2); printf("かかった時間は、%d秒です\n", t2-t1); return 0; } vc++2010でコンパイルした方のt2の値が、0で表示されてしまうのはなぜでしょうか? よろしく、お願いします。

  • C言語プログラムエラーについて

    構造体とポインタを使って関数電卓のプログラムを作ってコンパイルしたのですがひとつだけエラーがでて困っています。親切な方回答よろしくお願いします。 ソースコード↓ #include<stdio.h> #include<string.h> #include<math.h> int main(void) { int i; double result; char inp_buf[30]; double input_d; typedef struct{ char*f_name; double(*func)(double); }FUNC_TBL; FUNC_TBL f_tbl[] = { { "sin",sin }, { "cos",cos }, { "tan",tan }, { "exp",exp }, }; printf( ">" ); scanf( "%s %lf", inp_buf, &input_d); for( i=0;i< sizeof(f_tbl)/sizeof(FUNC_TBL);i++) { if(!strcmp(f_tbl[i],f_name,inp_buf)) { 29行目→ result = f_tbl[i],func(input_d); } } printf("%lf\n",result); return 0; } エラーメッセージ↓ (29):error C2440:`=`:`FUNC_TBL`から`double`に変換できません。

  • 簡単なコンパイルができない。

    ごく簡単なコンパイルができません・・。 #include<stdio.h> int main(){ int i; i = 1; printf("%d" , i); return(0); } でコンパイルすると Borland C++ 5.5.1 for Win32 Copyright (c) 1993,2000 Borland C:\TM-C\c\sam.c: 警告 W8065 C:\TM-C\c\sam.c 5:プロトタイプ宣言のない関数'printf'の呼び出し(関数 main) Turbo Incremental link 5.00 Copyright (c) 1997,2000 Borland Fatal: ファイル C0X32.PBJ が開けません と表示されてコンパイルできません・・。 プロトタイプ宣言ってこの場合いらないんじゃ・・。 どなたか教えてください:;

  • C++のコンパイルエラーが

    おこります。 --------------------------------- #include <stdio.h> int main(void) { printf("hello, world\n"); return 0; } -------------------------------------- をコンパイルするのですができません。 以下のエラーが出ます。 --------------------------------------- エラー E2209 sample.c 1: インクルードファイル 'stdio.h' をオープンできない 警告 W8065 sample.c 5: プロトタイプ宣言のない関数 'printf' の呼び出し(関数 main ) *** 1 errors in Compile *** -------------------------------------

  • BCC32のコンパイルでDOSアプリ

    bcc32 test これでコンパイルしてできた実行ファイルはWin32でした。 クイックビューアで見た時にDOS EXECUTABLEと表示される ようにコンパイルするにはどうしたらいいんですか? 下記がtest.cppのソースです。 #include <iostream.h> int main(){ printf("hello"); return 0; }

  • ファイル入力のエラー

    以下のファイルを配列に読み込むプログラムを作っています。 1987 1100 12 23 2.467164 0.75153 1989 1202 12 31 2.456249 0.72896 1990 1204 9 28 2.484802 0.763903 1991 1206 11 26 2.520005 0.750182 1985 1207 9 26 2.499319 0.749116 以下の通りプログラムを組んでみました。 コンパイルしたところ、出力はされませんでした。 エラーも出ていないので、入力、出力などどこが悪いのかわかりません。 ほとんど初心者です。間違いが分かる方、よろしくお願いします。 #include<stdio.h> #define SIZE 5 main() { int a, b, c, d, i; static int year[SIZE],month[SIZE],day[SIZE],code[SIZE];   double e, f; static double latitude[SIZE],longitude[SIZE]; FILE *fp; fp=fopen("c\distance.dat","r"); while((fscanf(fp,"%d%d%d%d%lf%lf",&a,&b,&c,&d,&e,&f)) !=EOF) { year[i]=a; month[i]=b; day[i]=c; code[i]=d; latitude[i]=e; longitude[i]=f; i++; printf("%13d%8d%8d%8d%9.6lf%9.6lf\n",&a,&b,&c,&d,&e,&f); } fclose(fp); return(0); }