Ich habe ein kleines Problem mit dem Code unten. Es ist ein einfaches Programm, das 2 Arrays von char und ein int einliest. Dann speichert es den gesamten Inhalt in einer anderen Zeichenfolge und druckt es aus.Fehler: Stack um die Variable 'String' wurde beschädigt
#include <stdio.h>
#include <string.h>
int main()
{
char string [50];
char first [11];
char last [16];
int age = 0;
printf("Please type in your first name: ");
scanf("%s", first);
printf("Please type in your last name: ");
scanf("%s", last);
printf("Please type in your age: ");
scanf("%d", &age);
sprintf(string, "Your name is %s %s and you are %d years old.", first, last, age);
puts(string);
getchar();
getchar();
return 0;
}
Jetzt wird das Programm läuft gut, aber wenn ich es schließen, erhalte ich folgende Fehlermeldung: Run-Time Check Failure # 2 - Stapeln Sie rund um die Variable 'string' beschädigt wurde. Das ist ein bisschen verwirrend und ich kann nicht herausfinden, wo das Problem liegt. Ich wäre dankbar für einen Rat.
Nicht verwandt, aber wenn Sie C99 haben (oder eine Garantie für einige Teile davon), sollten Sie stattdessen "snprintf" verwenden, um diese Art von Problem zu verhindern. –