clave únicamente puede almacenar un char... no una cadena de caracteres.
Para almacenar cadenas de caracteres tienes que usar un array:
Código C:
Ver originalchar clave[200]; // Cambia 200 por la longitud máxima a almacenar más 1
Por otro lado, el contenido de una cadena de caracteres no se puede comprobar con el operador de igualdad porque es una operación compleja... para eso existe la función
strcmp, que podrás encontrar en la librería
string.h
Si, en cambio, quieres leer únicamente un caracter, cambia el scanf por este otro:
%c indica que vas a leer únicamente un carácter.
El
& hay que ponerlo porque la función espera un puntero... y
clave, declarado tal que
char clave; no lo es :)
Un saludo.