数値計算(コンパイルエラー)

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Eda

数値計算(コンパイルエラー)

#1

投稿記事 by Eda » 16年前

数値計算によってある移動距離を計算します。
以下はそのプログラムソースの一部です
#include <stdio.h>
#include <math.h>
#define B=3600
#define Q=10
double main(void)
{
	int C0,LA,LB,i,PN,TH,IT,Irep,Tmax,SRTM,DT,SRT,M1,JP,PB,PN1,IK0,JJ,start,IK
	double N,GZ,VJV,X,X0,GZ0
	double MV,DCAL,X0,JVINT,VJVT[b],XT[b],VFLUX[b]
	double U0,H,K,KD0[Q],KD1[Q],KD2[Q],KD3[Q],KD4[Q],KV0[Q],KV1[Q],KV2[Q]
	double R0[Q],R01[Q],R2[Q],R3[Q],R4[Q],R5[Q],NL[Q],NLC[Q],NH[Q],NHC[Q],H[Q],JPN[Q]


生じたエラーは以下のとおりです
Error E2141 ****.c 8: Declaration syntax error in function main
Warning W8070 ****.c 174: Function should return a value in function main
この8行目で生じるエラーを解決する方法を教えて頂けませんか?
使用したコンパイラはbccです。

なお、それぞれの行末に;がついてませんが、これを付けると
Error E2188 ****.c 10: Expression syntax in function main
Error E2290 ****.c 174: Array bounds missing ] in function main
というエラーが新しく付け加わるため;は付けていません。

MNS

Re:数値計算(コンパイルエラー)

#2

投稿記事 by MNS » 16年前

確実ではありませんが、
Declaration syntax error in function main
→mainの返り値をintにする
Function should return a value in function main
→これは値を返していないから

あと、定数がおかしいです
#define B=3600
#define Q=10
これは、
#define B 3600
#define Q 10
こうすべきです。

そうすれば、行末に;をつけても大丈夫なはずです。

Eda

Re:数値計算(コンパイルエラー)

#3

投稿記事 by Eda » 16年前

MNSさん、返信ありがとうございます。

=をつけなければ行末に;を付けなくても良いとは知りませんでした。

ありがとうございました。

MNS

Re:数値計算(コンパイルエラー)

#4

投稿記事 by MNS » 16年前

いえ、行末に;は付けなければいけません。
そもそも、#defineは
#define 定数名 値
となるので、=を付けるとおかしなことになります。
ですから、mainの戻り値をintにし、#defineの=を除いて、
行末にセミコロンをつければ、コンパイルエラーは出ないはずです。

Eda

Re:数値計算(コンパイルエラー)

#5

投稿記事 by Eda » 16年前

重ね重ねありがとうございます。

プログラムは大学で少し習っただけなので
このように親切に教えていただくと勉強がはかどります。

閉鎖

“C言語何でも質問掲示板” へ戻る