Die Eingabeaufforderung verhält sich ziemlich seltsam

Die Eingabeaufforderung verhält sich ziemlich seltsam

Wenn mein C-Programm relativ einfach ist, etwa nur aus einem printfBefehl, gibt die Eingabeaufforderung die folgende Ausgabe aus:

Code:

#include <stdio.h>
int main(){printf("Get out!");}

Ausgabe:

C:\Users\amish>gcc whatever.c
C:\Users\amish>a
Get out!

Aber wenn der Code etwa so aussieht:

#include <stdio.h>
  int is_composite(int a){
    int i;
    int b = 0;
     if(a == 1){b = 2;};
    for(i=2; i<a;i++){
     
    if(a%i ==0){b = 1;
    break;
    };
    
     
   
  }
   return b;}
  int main(){
    int n1;
    int n2;
    int k;
    int l;
    printf("ENTER TWO NUMBERS");
    scanf("%d", &n1);
    scanf("%d", &n2);

    for(k = n1; k<=n2; k++){
      l = is_composite(k);
      if(l == 0){printf("%d ", k);}
    }
   
    return 0 ;}

Ausgabe:

C:\Users\amish>gcc whatever.c
C:\Users\amish>a
Access is denied.

Ich verstehe wirklich nicht, warum es bei einfachen Codes funktioniert, bei komplexen aber nicht. Oder liegt der Grund ganz woanders? Für jede Hilfe bin ich dankbar!

verwandte Informationen