いつもお世話になっています。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を変数に入れ */ /* 後続のデータを一つづつ前に移動させ、変数の値をリターンする */ //}
回答2件
あなたの回答
tips
プレビュー