4

私は C のクラスを取っていますが、あまり得意ではないので、「Id が 1 つの終了ステータスを返しました」という問題を解決するにはどうすればよいか、お尋ねしたいと思います。その間、私は本当にあなたの助けに感謝します.

#include <stdio.h>
#include<conio.h>
#include<windows.h>
int main()
{
  int P, N, NP=0;
  printf("Introduzca en nombre del producto:\n");
    scanf("%f", &N);
  printf("Introduzca en precio del producto:\n");
    scanf("%f", &P);
  if (P <= 1500)
        NP=P*1.11;
  else 
        NP=P*1.08;
   printf("El producto %d cuesta %d", NP, N);
   getche();
   return 0;
}

エラーの完全なリストは次のとおりです。

Permission denied

Id returned 1 exit status
4

14 に答える 14

10

コードとは何の関係もありません。オペレーティングシステムは、使用中のファイルを変更することを単に許可していないため、ldコンパイラは古い実行可能ファイルを削除して新しい実行可能ファイルを配置できないため、コンパイル (実際にはリンク、リンカー) は失敗します。これを解決するには、そのプログラムを実行している既存のプロセスをすべて閉じます。

それでもうまくいかない場合は、実行可能ファイルがあるディレクトリのアクセス許可を確認するか、現在それを使用しているプログラムを探します (一部のシステムでは、プログラムがファイルをロックすることを許可しているため、他のプログラムはそれを変更できません)。

于 2013-09-06T22:59:09.733 に答える
1

問題がすでに解決されていることは承知していますが、バグ メッセージに悩まされている方に別の視点を提供したいと思います。

「[エラー] ID が 1 つの終了ステータスを返しました」

だからここにあります:

実行するメイン関数がない C/C++ ソース ファイルをコンパイルすると、次のようなバグ メッセージが必ず表示されます。

「[エラー] ID が 1 つの終了ステータスを返しました」

ただし、ファイルに main 関数が必要ない場合もあります。そのような場合は、バグ メッセージを無視してください。

于 2016-03-24T02:12:10.907 に答える
1

ここに何か問題があります:

int N;
scanf("%f", &N);

データ型が一致しません。

于 2013-09-06T22:27:44.757 に答える
0

ターミナルでコンパイルする場合は、次のものが必要です。

su
gcc file.c -o nameyouwant
./nameyouwant
于 2017-01-06T15:26:20.007 に答える
0

パペホの答えに何かを追加したい:

ウイルス対策ソフトウェアを使用している場合、これが原因である可能性があります。いくつかのアンチウイルスは、stdio.hおそらく.windows.hconio.h

それを取り除くための考えられる方法:

1.既存の実行ファイルを削除してみてください。(何か(おそらくウイルス対策)でロックされているため失敗しました)

2.そのファイルの名前を変更し、再構築して完了します(名前を変更すると、コード用に別の実行可能ファイルを作成できます)。

3.PC の再起動に失敗した場合、1 からの試行で問題が解決する場合があります。それが役に立てば幸い :-)

于 2018-02-24T21:47:02.010 に答える
-1

まず、 flushall();を使用していることを確認してください。またはclrscr(); あなたのプログラムにそれがあれば、確かにそのエラーが発生します!!! Dev CPP では許可されていないためです。fflush(stdin)を使用します。その代わりに。問題は必ず解決します!!!

于 2019-10-01T06:27:06.620 に答える