みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

C言語 コンパイルエラー(文字列または文字定数が閉じていない)

下記コードでコンパイルすると、コンパイルエラーとなります。試しに、"さようなら"を、"さような"に変更すると、コンパイルエラーは
なくなります。どうして、コンパイルエラーとなるのか分からずに困っています。ちなみに、コンパイラは、ボーランドのものを使っています。

▼エラーとなるコード
#include <stdio.h>

int main(void)
{
printf("こんにちは");
printf("さようなら");
return 0;
}

▼コンパイルエラー内容
エラー E2380 sample08.c 7: 文字列または文字定数が閉じていない(関数 main )
エラー E2121 sample08.c 9: 関数呼び出しに ) がない(関数 main )
警告 W8070 sample08.c 10: 関数は値を返すべき(関数 main )

投稿日時 - 2008-08-14 14:05:47

QNo.4250736

暇なときに回答ください

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

こんにちは、ご解答というわけではないのですが、VCでこのプログラムを実行したところ、問題なく表示されました。
これで、コンパイルエラーが解消されるかは全く謎ですが、試しに・・・
#include <stdio.h>

int main(void)
{
printf("こんにちは\n");
printf("さようなら\n");
return 0;
}
としてみてはいかがでしょう。
段落を変えたからなんだ・・・という話なんですが^^;

投稿日時 - 2008-08-14 14:27:04

お礼

nanami_wicさん、ご回答ありがとうございます。

色々試してみたところ、どうやらコードを保存する際、Shift-Jisを指定していないことがコンパイルエラーの原因のようでした。
「お騒がせしてすみません」&「VCで実行していただき、ありがとうございました」。

投稿日時 - 2008-08-14 14:36:50

このQ&Aは役に立ちましたか?

7人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

> 警告 W8070 sample08.c 10: 関数は値を返すべき(関数 main )

この警告がソースコードの10行目に基づいて出ていますので、
10行目はmain関数の終わりを示す

}

となるはずです。一方、「エラーとなるコード」は10行に満たないように見えます(私だけ?)。

くだんのソースコードとエラーメッセージは、間違いなく対応していますでしょうか。

投稿日時 - 2008-08-14 14:34:59

お礼

asuncionさん、ご回答ありがとうございます。

ソースコードとエラーメッセージは、間違いなく対応していたのですが、どうやら私のソースコードの保存方法に問題があったようです。
今回は、とんちんかんな質問をしてしまい大変恐縮です……。
…が、気を取り直して、これから頑張ってこれからC言語を覚えていきたいと思います。

投稿日時 - 2008-08-14 14:42:21

あなたにオススメの質問