Well what exactly happens is that you enter 2 characters instead to one, one is your character and second is the enter button which gets into the second getchar (c2 = (char)getchar(); this one ) so the quickest work around for this would be to include another getchar() that takes the enter. Use the below edited code:
#include <stdio.h>
int c1;
int c2;
void choose();
void result();
void main()
{
choose();
result();
}
void choose()
{
printf("Pick 'a', 's', or 'd': ");
c1 = (char)getchar();
getchar();
printf("Pick 'a', 's', or 'd': ");
c2 = (char)getchar();
}
void result()
{
printf("You picked '%c' and '%c'.", c1, c2);
}