Was ist der Trick hinter strcpy () / uninitialized char pointer this code?

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void main ()
{
  char *imsi;
  unsigned int i;
  int val;
  char *dest;

  imsi = "405750111";

  strncpy(dest,imsi,5);

  printf("%s",dest);

  /*  i = 10; */
}

Im obigen Code mit demi = 10 Zuordnung ist wie oben kommentiert, der Code funktioniert einwandfrei ohne Fehler. Wenn die Zuweisung für die Kompilierung enthalten ist, wird der Fehler (Segmentierungsfehler) tritt bei @ astrncpy (dest, imsi, 5);.

Durch Vermeidung der Optimierung auf Variablei (d. h.volatile int i;), der Fehler wird auch mit der Zuweisung behoben i = 10) inbegriffen

Antworten auf die Frage(4)

Ihre Antwort auf die Frage