Il te faut réviser la mécanique des pointeurs : regarde le prototype de scanf().
Comme ton titre le fait très pertinemment remarquer, ton utilisation de scanf() est incorrecte, et tu as à peu près correctement isolé le code.
Autres remarques :
- ta définition de main() est incomplète, normalement tu dois explicitement retourner un entier ( int main(void) )
- scanf() n'est pas une fonction à conseiller aux débutants, elle n'est pas triviale à maîtriser et sert, comme son nom l'indique, à la saisie formatée de données. Je te conseille de t'orienter vers fgets(), dans un premier temps.
- on ne compare pas deux chaînes de caractères avec "==". C'est faux : il faut utiliser strcmp(). Là, ton test ne compare que les pointeurs, pas le contenu des zones vers lesquelles ils pointent.
- si tes variables rejouer, oui et non sont sensées contenir "oui" ou "non", alors sache que tu n'as pas attribué suffisament d'espace à tes tableaux : en C, il faut prévoir une case de plus pour le caractère de fin de chaîne \0.