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

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

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

GNU Emacsと拡張性の高い、高性能なテキストエディタです。豊富なライブラリの導入により、統合開発環境やWebブラウザとしても機能させる事が可能です。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Q&A

解決済

2回答

3686閲覧

./a.outが出来なくなった

ikuo-biyori

総合スコア56

Emacs

GNU Emacsと拡張性の高い、高性能なテキストエディタです。豊富なライブラリの導入により、統合開発環境やWebブラウザとしても機能させる事が可能です。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

0グッド

0クリップ

投稿2016/10/16 02:30

編集2016/10/16 02:45

いつもお世話になっています。emacsを使って、C言語でプログラミングをしていたら、急に./a.outを押してもプログラムが実行できなくなりました。どのようにすれば、実行できますか?(gcc.ファイル名.cは通るのですが。その後に./a.outを押すと実行できない)C言語
コード

#include <stdio.h> #include <stdlib.h> #define QLEN 5 #define QEMP -1 #define QFUL -1 int enq(int); int deq(void); void listq(void); /* キューに使用する配列、その他外部変数の宣言 */ //int a[QLEN],n,m,r; int main(){ int a[QLEN],n,m,r; int i; while(1){ /* 処理の入力 */ /* 入力に従って関数を呼ぶ */ /* なお、enq()の場合は呼ぶ前に引数入力 */ /* deq()の場合は呼んだ後にデータ出力 */ /* 終了の場合はexit()を呼ぶ */ //scanf("%d",&n); printf("1 = enQ/2 = deQ/else = end ==>"); scanf("%d",&n); if(n==1){/*エンキューをします*/ printf(" Enter enQ data ==>"); scanf("%d",&m); r=enq(m); printf("Queue :"); for(i=0;i<QLEN;i++){ printf("%d",a[i]); } printf("\n"); break; } else if(n==2){/*デキューします*/ enq(n); } else exit(0); } return 0; } //void listq(void){ /* キューが空なら"Queue empty!\n"表示 */ /* 空じゃない場合は並んでいる個数分データ表示 */ //} int enq(int data){ int a[QLEN]; static int j=0; //j++; if(j>=QLEN){ return QFUL; } else { a[j]=data; return data; } j++; } /* キューが満杯ならQFULをreturn*/ /* そうでないならキューの最後尾にdataを追加 */ } //int deq(void){ /* キューが空ならQEMPをreturn*/ /* そうでないならキューの最前列のdataを変数に入れ */ /* 後続のデータを一つづつ前に移動させ、変数の値をリターンする */ //}

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

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

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

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

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

A.Ichi

2016/10/16 02:38

修正により何もせずに終了していると言う事はないでしょうか?
carimatics

2016/10/16 02:42

ソースコード、実行したコマンド、実行結果を記載してもらえませんか?
guest

回答2

0

インデントしてみるとmain関数の中で中括弧が余っていることが分かります

C

1int main(){ 2 int a[QLEN],n,m,r; 3 int i; 4 while(1){ 5 6 /* 処理の入力 */ 7 /* 入力に従って関数を呼ぶ */ 8 /* なお、enq()の場合は呼ぶ前に引数入力 */ 9 /* deq()の場合は呼んだ後にデータ出力 */ 10 /* 終了の場合はexit()を呼ぶ */ 11 //scanf("%d",&n); 12 printf("1 = enQ/2 = deQ/else = end ==>"); 13 scanf("%d",&n); 14 if(n==1){/*エンキューをします*/ 15 printf(" Enter enQ data ==>"); 16 scanf("%d",&m); 17 r=enq(m); 18 printf("Queue :"); 19 for(i=0;i<QLEN;i++){ 20 printf("%d",a[i]); 21 } 22 printf("\n"); 23 break; 24 25 } 26 else if(n==2){/*デキューします*/ 27 enq(n); 28 } 29 else exit(0); 30} 31 32return 0; 33} 34

投稿2016/10/16 02:54

HogeAnimalLover

総合スコア4830

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

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

0

ベストアンサー

a.outという実行ファイルは存在するのですか?

投稿2016/10/16 02:31

HogeAnimalLover

総合スコア4830

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

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

HogeAnimalLover

2016/10/16 02:34

エラーメッセージとかは確認してありますか?
ikuo-biyori

2016/10/16 02:39

emacs a30.c & [1] 2509 gcc a30.c a30.c:76:1: error: extraneous closing brace ('}') } ^ 1 error generated. [1]+ Done /Applications/Emacs.app/Contents/MacOS/Emacs a30.c ./a.out こんな感じに出ました。
HogeAnimalLover

2016/10/16 02:43

>>gcc.ファイル名.cは通るのですが。 通っていません。文法上の誤りがあるようです。多分、中括弧の対応関係が間違っていると思われます。(閉じ括弧が余っているように見えます)
ikuo-biyori

2016/10/16 02:48

ありがとうございます。実行できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問