• 締切済み

コンパイルができません。

#include <stdio.h> main(){ int a = 1; int sum = 0; while( a<16) { sum = sum + a;   a++;  } printf("%d\n",sum); } 1から15まで足した結果を表示するプログラムですが、うまくいきません。教えてください。

みんなの回答

  • php504
  • ベストアンサー率42% (926/2160)
回答No.5

エラーにはならないですが最後にreturn 0;とか書いたほうがいいと思います 戻り値を省略したらint型を返す関数とみなされますし本来mainはintを返すべきでしょうから。 それとシェルはコンパイラではありません。 Linuxならコンパイラはgccでしょうか

全文を見る
すると、全ての回答が全文表示されます。
  • anzu-k
  • ベストアンサー率66% (2/3)
回答No.4

念のためにお知らせしておきます。 質問で示されているコードをテキストエディターにコピペしたところ、 a++;の前と次行の } の前が全角スペースになっています。

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

コンパイラの出力を, 「何も考えずに一字一句そのまま」 すべて書いてみてください. 出力が英語であったとしても, 「そのまま」書いてください. 「たぶんこうだろう」と思って訳されると, かえって混乱することがあり得ますので.

全文を見る
すると、全ての回答が全文表示されます。
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.2

>実行ファイルを作ろうとしたら11行目にerrorがでました。 どのようなエラーメッセージですか? 具体的にそのメッセージも提示すると、よりよい回答が得られますよ。 エラーメッセージが提示されて以内ので、以下は、推測ですが、 ファイル中の空白に全角の空白が混じっていませんか。 それを確認して下さい。

deepsky11
質問者

補足

返事が遅れました。   全角の空白が原因でした。ありがとうございます。

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

1.質問をするときは、以下のことを必ず書いて下さいね。 (1)OSは何でしょうか (2)コンパイラはなにを使用してますか。 2.どのようなことをしたら、どのような、エラーメッセージがでましたか。

deepsky11
質問者

補足

失礼しました。 OSはリナックスでコンパイラはシェルです。 実行ファイルを作ろうとしたら11行目にerrorがでました。

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

関連するQ&A

  • 分割コンパイルについて

    現在分割コンパイルが分からずに苦戦しています。 下記のリストは構造体を使わなければコンパイラを通すことができましたが、 使うとなぜか通りません。 あれこれ試しましたがどうしても分かりません。 何がおかしいのでしょうか? *define.hで全てのファイルへの定義や宣言を行わせています。 ////////////// //Main.cpp ////////////// #include <stdio.h> #include <conio.h> #include "define.h" int main( void ){ Tmp[0].c = 15; printf("a: %d\n", a); printf("b: %d\n", b); printf("c: %d\n", Tmp[0].c); printf("NUM:%d\n", NUM); aaa(); bbb(); getch(); return 0; } ////////////////// // A.cpp ///////////////// #include <stdio.h> #include "define.h" void aaa( void ){ printf("a: %d\n", a); printf("b: %d\n", b); printf("c: %d\n", Tmp[0].c); printf("NUM:%d\n", NUM); } ////////////////// // B.cpp ///////////////// #include <stdio.h> #include "define.h" void bbb( void ){ printf("a: %d\n", a); printf("b: %d\n", b); printf("c: %d\n", Tmp[0].c); printf("NUM:%d\n", NUM); } ////////////////// // define.cpp ///////////////// #include "define.h" int a = 10; int b = 20; struct Parameter { int c; }; struct Parameter Tmp[NUM]; ////////////////// // define.h ///////////////// #define NUM 100 extern int a; extern int b; extern struct Parameter Tmp[NUM]; void aaa( void ); void bbb( void );

  • コンパイルエラー

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

  • c言語で平均をだす

    #include<stdio.h> int main(void) { int num; int sum; printf("テストの点数を入力してください。\n"); do{ scanf("%d",&num); sum+=num; }while(num); printf("テストの合計点は%dです\n",sum); return 0; } テストの平均点をだすプログラムを作りたいのですが、合計を出すまではわかったのですが、ここから、平均を出すようにするにはどうすればよいですか。

  • ループ

    #include<stdio.h> int main(void) { int i=1,sum=0; int num=1; while(num>0) { printf("整数を入力してください。(マイナスの値で終了)\n"); scanf("%d",&num); printf("%dが入力されました。(%d番目の繰り返しです)\n",num,i); sum+=i; printf("1から%dまでをたすと%dです。\n",i,sum); i++; } printf("繰り返しが終わりました。\n"); printf("加算値は%dです。\n",sum); printf("%d回繰り返しました。\n",i); return 0; } このプログラムで101以上の数値は加算しないようにするにはどうすればいいですか。

  • Re: Vista c言語でのエラー

    直前の質問だったのですが、どうやらプログラムが壊れているみたいなんです。 #include <stdio.h> int main(void) { int sum,, no ; printf("整数を入力してください: "); scanf("%d", sum); printf("%d\n", sum); return (0); } と、とても簡単なプログラムに変えてみると、 整数を入力してください: 25 [Enter] 2147348480 となりました。また int sum, no; と変数を二個にすると前記のエラーが起こりました。 そのほかのプログラムを実行しても同じ結果でした。 コンパイラがおかしくなっちゃったんでしょうか?

  • 文字列をint型へ変換するには?

    c言語初心者です。 こちらのプログラムだとうまく表示されません何故でしょう? わかる方是非教えていただきたいと思います。 #include<stdio.h> #include <stdlib.h> int main() { int  num ;     char sum1[4]; printf("数字 str1 =>"); scanf("%d",&num); num= atoi(sum11); printf("sum1= [%d]\n",num); } コマンドに数字を入力したあとintに変換してnumに表示させたいのですが、、、、

  • コンパイル結果が違う

    コンパイル結果が違う 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言語プログラム

    したのプログラムでgetch()の代わりにscanf()を使って、入力した数が負なら終了、正なら"次の数を入力してください"と表示してループを続けるプログラムを作りたいのですが、どこを変えればよいのですか? #include<stdio.h> #include<conio.h> void main() { int i=1,sum=0; char c='m'; while(c!='e')//eでない限りwhileループを実行する { sum=sum+i; printf("\n1 kara %d madewo tasuto %d desu.\n",i,sum); i++; printf("nanikakeywo oshitekudasai.owaru tokiha 'e'\n"); c=getch(); } printf("loopwo nukemashita\n"); getch(); }

  • 非負整数nを読み込んで、1+2+・・・+m>nとなる最小の整数mを表示

    非負整数nを読み込んで、1+2+・・・+m>nとなる最小の整数mを表示するというプログラミングなのですが・・・ #include <stdio.h> int main(void) { int n,m=■ , sum=0; do { printf("非負整数: "); scanf("%d", &n); } while (n■0); while (sum■n) { ■ ; sum +=■; } printf("1+2+・・・+m> %dとなる最小の整数mは%dである。\n", n, m); return (0); } ■のところがわかる方どうにかお願いします!!

  • プログラミング(argcとargv)

    入力された数の合計とその計算式を表示するプログラムをつくっています。惜しい(?)ところまでいったのですがその先がなかなか進みません。以下のプログラムのどこを修正したらよいでしょうか?教えてください。 #include <stdio.h> #include <stdlib.h> #define nMAX 10 int main(int argc, char **argv){ int sum = 0; if(argc < 2){ printf("Too few option!\n"); return 1; } int i, n; for(i = 1; i < argc; i++){ n = atoi(argv[i]); sum = sum + n; } printf("%d\n", sum); }