Wat betekent “Toestemming geweigerd” “Id heeft 1 uitgangsstatus geretourneerd”?

Ik volg een les over C en ik ben er niet zo goed in, dus ik zou je willen vragen hoe ik het probleem oplos: “Id gaf 1 exit-status terug”, ik heb er mee geworsteld al een tijdje, dus ik zou je hulp erg op prijs stellen.

#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;
}

De volledige lijst met fouten is:

Permission denied
Id returned 1 exit status

Antwoord 1, autoriteit 100%

Het heeft niets met code te maken. Uw besturingssysteem staat eenvoudigweg niet toe om een bestand te wijzigen terwijl het in gebruik is, dus de compilatie (eigenlijk, linken, ldis de linker) mislukt, omdat de compiler het oude uitvoerbare bestand niet kan verwijderen en plaats een nieuwe. Om dit op te lossen, sluit u gewoon alle bestaande processen waarop dat programma draait.

Als dat niet werkt, controleer dan uw machtigingen voor de map waarin het uitvoerbare bestand zich bevindt, of zoek naar programma’s die het momenteel gebruiken (sommige systemen staan programma’s toe om een bestand te vergrendelen, zodat geen ander programma het kan wijzigen ).


Antwoord 2, autoriteit 20%

Het probleem is opgelost door het executable(.exe)-bestand te verwijderen. Als u de code meerdere keren compileert, kan deze mogelijk het oude .exe-bestand niet vervangen.


Antwoord 3, autoriteit 10%

Er is hier iets mis:

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

Uw gegevenstypen komen niet overeen.


Antwoord 4, Autoriteit 10%

Ik weet dat het probleem al goed is opgelost, maar ik wil een ander perspectief aanbieden voor degenen die worden achtervolgd door het Bugbericht

“[FOUT] ID geretourneerde 1 exit-status”

Dus hier is het:

Als u een C / C++ -bronbestand compileert zonder hoofdfunctie om uit te voeren,
Er zal zeker een bugbericht zijn dat zegt:

“[FOUT] ID geretourneerde 1 exit-status”

Maar soms hebben we gewoon geen hoofdfunctie in het bestand nodig,
Negeer in een dergelijk geval het bericht van de bug.


Antwoord 5

ALT + F2 in uw IDE … het helpt soms echt wanneer u vergeet om “Run” venster HAH)

te sluiten


Antwoord 6

Dit is me overkomen toen ik per ongeluk mijn .exe-bestand alleen leesbaar was. Toen ik het verwijderde, werkte het weer. (Idk veel over programmeren, maar dit gebeurde mij MADB, het helpt iemand)


Antwoord 7

Als u opeenkomt in de terminal die u nodig hebt:

su
gcc file.c -o nameyouwant
./nameyouwant

Antwoord 8

Ik wil graag iets toevoegen aan Papeho’s antwoord:

Als u een antivirussoftware gebruikt, kan dit de reden zijn.
Sommige antivirus kan hier het feit zijn, waarschijnlijk voor het opnemen van stdio.h, windows.hof conio.hhet voorspelt dat het werken met dergelijke headers kan aanvallen op uw pc veroorzaken

Waarschijnlijke manieren om er vanaf te komen:

1. Probeer het bestaande uitvoerbare bestand te verwijderen. (Mislukt omdat het wordt vergrendeld op iets (misschien antivirus))

2.Hernoem dat bestand gewoon, herbouw het en klaar (door de naam te wijzigen kun je een ander uitvoerbaar bestand voor je code maken).

3.Als het niet lukt om de pc opnieuw op te starten en vanaf 1 te proberen, kan dit worden opgelost.
Ik hoop dat het helpt 🙂


Antwoord 9

Ik had dezelfde fout. En het was een beetje moeilijk op te lossen omdat het bericht zegt dat je geen toestemming hebt om het bestand te openen. Maar het probleem is dat het programma nog steeds draait.

Als het programma nog steeds draait, dacht ik dat ik het in taakbeheer zou vinden, maar was er niet. Dus ik probeerde het bestand te verwijderen en ik kon het ook niet verwijderen. Zoekend meer over vind ik het programma “Procesverkenner”. Met dit programma kon ik zien dat mijn exe-bestand nog steeds actief is, maar met een bericht dat het programma is onderbroken. Daarna probeerde ik te doden via Process Explorer, maar zonder succes, omdat ik nog steeds geen machtigingen heb. Dus ik sluit Process Explorer en open met beheerdersrechten en na dit alles was ik in staat om het proces te beëindigen en mijn bestand door codeblokken te bouwen en uit te voeren.


Antwoord 10

Ik denk dat je gewoon int NP=0;moet veranderen in: float NP=0;

Verander ook: scanf("%f",&N);en: scanf("%f",&P);
naar: scanf("%d"&N);en scanf("%d"&P);

En:getch();naar: getch();

Ik hoop dat dit je kan helpen.


Antwoord 11

#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;
void gotoxy(short x, short y);
int main()
{
     FILE *ptrFile= fopen("E:\\ENCD_OUTPUT.html","a");
     char a[30];
     cin >> a;
     cout << a;
     gotoxy(14, 4);
     fputs(a, ptrFile);
     gotoxy(13, 6);
     fputs(a, ptrFile);
     getche();
}

Antwoord 12

Misschien ben je het vergeten om het terminalvenster te sluiten, sluit het gewoon en voer het opnieuw uit.


Antwoord 13

De volgende twee werkten voor mij:

  • Verwijder de .exe -bestand en compileer opnieuw
  • Controleer of de code nog niet in de terminal loopt (om dit te controleren, sluit u gewoon in en open uw IDE / Editor)

Antwoord 14

Controleer eerst dat u Flushall () gebruikt; of CLRSCR (); in uw programma als het er is dan zeker dat u die fout krijgt !!! Omdat het niet is toegestaan in Dev CPP. Gebruik fflush (stdin); in plaats daarvan.
Het probleem zal zeker worden opgelost !!!

Other episodes