First thing to do: don't even try like that!
char firstname[20], middlename, lastname[20];
main()
{
clrscr();
printf("Enter your First Name: ");scanf("%s",&firstname);
printf("Enter your Middle Name: ");scanf("%c",&middlename);
printf("Enter your Last Name: ");scanf("%s",&lastname);
getch();
<code>
middlename is a single char: i.e. it cannot hold anything returned from scanf except any empty string!
&firstname
is a pointer to a pointer to a char. scanf wants a pointer to a char. The same for
&lastname
Instead, try this:
#include<stdio.h>
char firstname[20], middlename[20], lastname[20];
main()
{
clrscr();
printf("Enter your First Name: ");scanf("%s",firstname);
printf("Enter your Middle Name: ");scanf("%c",middlename);
printf("Enter your Last Name: ");scanf("%s",lastname);
getch();
}