質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

5回答

1619閲覧

bcc32のコンパイルエラー

leaper

総合スコア4

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2020/06/04 14:32

編集2020/06/04 14:33

C言語のエラーについて
つい何日前から学校でC言語を習い始めたものです。

自分自身プログラミングに興味があるので独学でやってみようと(https://www.sejuku.net/blog/24965)様のコード
をコピペしてbcc32を使ってコマンドプロンプトでコンパイルしようとしたら
とエラーを吐かれました。どなたか解決策がわかる方いますでしょうか?初心者質問で申し訳ありません。ご教示していただけると幸いです。エディタはVS codeを使っています。

発生している問題・エラーメッセージ

Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland nyuuryoku.c: エラー E2140 nyuuryoku.c 6: ここでは宣言はできない(関数 main ) *** 1 errors in Compile ***

該当のソースコード

C言語

1#include <stdio.h> 2 3int main(void) { 4printf("文字列を入力してEnterボタンを押してください\n"); 5 6double d; 7scanf("%lf", &d); 8 9printf("入力された数値は:%lf\n", d); 10 11return 0; 12}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

leaper

2020/06/06 00:31

了解いたしました。ありがとうございます。
guest

回答5

0

こんな回答になってしまって申し訳ないと思いますが、書かせていただきます。

  • BorlandのCコンパイラは古いので使わない。Windowsの場合はCygwin, WSL, MSYS2のGCCコンパイラを使用するかVisual Studio Community Editionを導入する
  • 侍エンジニア塾は評判が悪いので見ない。今は改善されているかもしれないが、他のサイトか書籍で学習する。カーニハン・リッチーの「プログラミング言語C (第2版)」はプロフェッショナルを目指すならば必携の本であるが初心者には難しすぎるのでKindleで読めてAmazonレビューで評判のよい入門書をおすすめする。ただし「21世紀は」プログラミングの学習は基本的に書籍ではなくサイトを見て行うことをすすめる。書籍を読むとお金をかけたのに分からないことがあって納得がいかないというようなことが多いのと、正しく情報収集を行えばインターネットの情報源(ソース)が一番正しいということ、正しい情報収集の仕方はトライアンドエラーで臨むしかないというのが正直なところだからです。出先でもスマホでサイトをチェック!

投稿2020/06/04 14:50

anndonut

総合スコア667

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

C

1#include <stdio.h> 2 3int main(void) { 4 double d; /* ココに移動 */ 5 6 printf("文字列を入力してEnterボタンを押してください\n"); 7 8 scanf("%lf", &d); 9 10 printf("入力された数値は:%lf\n", d); 11 12 return 0; 13}

Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland

20年前のコンパイラなら仕方ないか...

投稿2020/06/04 14:40

編集2020/06/04 14:41
episteme

総合スコア16612

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

leaper

2020/06/04 14:51

ありがとうございます!無事解決いたしました!
guest

0

bcc32は古い(昔の)コードしか解析できないような・・・動作未検証ですが・・・

"double d;"を関数(main)の先頭に持っていきましよう。

c

1int main(void) 2{ 3 double d; 4 5 printf("文字列を入力してEnterボタンを押してください\n"); 6 7 scanf("%lf", &d); 8 9 printf("入力された数値は:%lf\n", d); 10 11 return 0; 12}

投稿2020/06/04 14:43

cateye

総合スコア6851

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

leaper

2020/06/04 14:51

ありがとうございます!無事解決いたしました!
guest

0

BCCの古いC言語ではブロック先頭でしか変数宣言できません。
double d;printfの前に移動してください。

投稿2020/06/04 14:39

SHOMI

総合スコア4079

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

leaper

2020/06/04 14:51

ありがとうございます!無事解決いたしました!
guest

0

ベストアンサー

古いCの規格(C90まで)では変数の宣言を関数の冒頭でしかできません。
なのでdouble d;printfの文より上に持っていけばコンパイル通ると思います。

投稿2020/06/04 14:38

kuuote

総合スコア705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

leaper

2020/06/04 14:48

ありがとうございます!無事解決いたしました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問