Ich schreibe ein einfaches Programm in C, versuche, mir die Sprache zum ersten Mal beizubringen und auch zu lernen, mein (Mac) Terminal zum ersten Mal zu benutzen. Ich erhalte jedoch immer einen Segmentierungsfehler, wenn ich versuche, eine Variable (ssn) in scanf() einzugeben, die gespeichert werden soll. Ich änderte die Variable von einem int zu einem langen und hoffte, das Problem zu lösen (was ich nachsah und dachte, dass es mit Speicherverfügbarkeit/-zugriff zu tun hat), aber ohne Erfolg. Ich würde wirklich einige Führung schätzen, danke! Mein Code unten:Segmentation Fault 11 mit C im Terminal
/* A short example program from cs449 C Programming Text */
/* Section 4.13 */
/* Exercise 4-1 */
/**********************************************************
* *
* Write a program to print a name, SSN, and DOB *
* *
**********************************************************/
#include <stdio.h>
int main()
{
char name[20]; /* an array of char used to hold a name */
long ssn; /* an integer for holding a 9 dig ssn */
long dob; /* an integer for holding a date of birth */
/* for the name */
printf("Please enter your name: ");
scanf("%s", name);
/* for the SSN */
printf("Please enter your ssn: ");
scanf("%ld", ssn);
/* for the date of birth */
printf("Please enter your date of birth:\n");
printf("Ex. monthdayyear or 041293\n");
scanf("%ld", dob);
/* final print of user-entered information */
printf("You are %s born on %d and your SSN is %d", name, dob, ssn);
/* remember to always return 0 at the end of a main funct! */
return(0);
}
@BLUEPIXY Dank für diesen Fehler zu kontrollieren! – Her
@BLUEPIXY, gehen Sie voran und kopieren Sie meine Antwort auf die Kommentare :-) – ForceBru
@BLUEPIXY vielen Dank! – Her