ここから本文です

コマンドプロンプトで #include <stdio.h> main() { int a=5; if(a%2==...

miu********さん

2018/10/221:51:24

コマンドプロンプトで

#include <stdio.h>

main()
{
int a=5;

if(a%2==0)
printf("%dは偶数です。

¥n",a);
else
printf("%dは奇数です。¥n",a);
}

と入力すると実行結果が「5は奇数です。」と返ってくるはずなのですが、
「コマンドの構文が誤っています。」と返ってきてしまいます。
これはなぜでしょうか?

補足みなさん、回答ありがとうございます。
自分はBCC (Borland C++ Compiler)というソフトをインストールしてプログラムをメモ帳に書き、
.txtで保存した後に「名前を付けて保存」で拡張子「.txt」の部分を「.c」に変えて実行してます。

ついさっき、printf("%dは偶数です。 ¥n",a);を{}でくくったらちゃんと「5は奇数です。」と返ってきました。
しかし{}は複数の処理を行いたい時に書く必要があって、1つの文を書いたときは{}は不要と書いてあったので
{}を外すとエラーが出てしまう理由がわかりません。

閲覧数:
147
回答数:
5
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

dee********さん

2018/10/422:55:41

> エラーが出てしまう理由がわかりません。
どんなエラーが出たの?

わたしもsample.c として試してみました。
警告は出ましたが、エラーは出ませんでした。

==== sample.c のファイル内容 ===

#include <stdio.h>

main()
{
int a=5;

if(a%2==0)
printf("%dは偶数です。\n",a);
else
printf("%dは奇数です。\n",a);
}

==== コンパイルと実行の結果 ===

C:\Temp>bcc32 sample.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
sample.c:
警告 W8070 sample.c 11: 関数は値を返すべき(関数 main )
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland

C:\Temp>sample.exe
5は奇数です。

C:\Temp>

  • 質問者

    miu********さん

    2018/10/423:44:25

    5は奇数です。
    の部分が
    コマンドの構文が誤っています。
    と表示されてしまうエラーです。

    bcc32 sample.c
    でエンターを押した時は自分も警告のみが出てエラーは出ませんでした。

    しかしその後に、拡張子.exeを省略して
    sample
    でエンターを押すと「コマンドの構文が誤っています。」
    と表示されてしまうのです。

    .exeを付ければいけるのですが、
    これは省略可能と書いてあったので質問で書いたプログラムに限って.exeを外すと「コマンドの構文が誤っています。」と表示されてしまう理由が分からないです。

  • その他の返信(3件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

ベストアンサー以外の回答

1〜4件/4件中

並び替え:回答日時の
新しい順
|古い順

bas********さん

2018/10/410:41:38

BCCは使っていません ( MinGWでやっています ) ので詳しくはわかりませんが、
「BCC if文 コマンドの構文が誤っています。」と検索してみました。

すると

http://www.ics.kagoshima-u.ac.jp/edu/projoen/error/index.html

がヒットしました。

E + 番号 のやつ、エラーメッセージとして表示されていませんか?

それか、バッチファイルとして起動しようとしたりとかじゃないですか?

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

yuk********さん

2018/10/300:07:14

ここに書いてあるプログラミング言語はc言語って言って
コマンドラインで直接打って実行するものじゃないからです。
cコンパイラというソフトをインストールして
ここに書いたプログラムをメモ帳か何かでテキストファイルとして保存して
cコンパイラで変換をして、実行できるファイルを作ってから
実行するのです

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

blu********さん

2018/10/222:48:06

えっと・・・コンパイルしてる?

C言語はコマンドプロンプトと違って1行1行コードを実行する言語じゃないんだ。
http://www.ibe.kagoshima-u.ac.jp/edu/gengo0/exe1/p3.html

PCが解釈できる言葉(機械語)に翻訳(コンパイル)しないといけない。
その代わり実行は高速。

で、コンパイルをするにはコンパイラが必要。
コンパイラにも種類があるが
一般的にはVisualStudioに付属しているcl.exeが多いだろう。

そのコンパイラを通してコンパイルし、実行可能ファイル(exe)を作ることで
始めて実行ができる。

これ等の話を踏まえて↑のURLを参考にすれば、
プログラムを動かせると思います。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

rok********さん

2018/10/222:06:56

printf("%dは偶数です。
¥n",a);
を一行で書いてみてください。
printf("%dは偶数です。¥n",a);

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる