Why does my terminal crash when I attempt to run this C Program?
Here are the instructions for the programming exercise.
#include <stdio.h>
#include <string.h>
int main(void)
{
char fname[20], lname[20];
printf("Please enter your first name:\n");
scanf("%s", fname);
printf("Please enter your last name:\n");
scanf("%s", lname);
printf("%s %s\n", fname, lname);
printf("%*d %*d\n", strlen(fname), strlen(lname));
printf("\n%s %s\n", fname, lname);
printf("%-*d %-*d", strlen(fname), strlen(lname));
return 0;
}
But when I run it like this it works fine? I do not understand why there are 4 arguments after the control statement which has two format specifiers.
#include <stdio.h>
#include <string.h>
int main(void)
{
char fname[20], lname[20];
printf("Please enter your first name:\n");
scanf("%s", fname);
printf("Please enter your last name:\n");
scanf("%s", lname);
printf("%s %s\n", fname, lname);
printf("%*d %*d\n", strlen(fname), strlen(fname), strlen(lname),
strlen(lname));
printf("\n%s %s\n", fname, lname);
printf("%-*d %-*d", strlen(fname), strlen(lname), strlen(lname),
strlen(lname));
return 0;
}