Hola, no sé si en el curso usamos el string. Si estoy equivocado corrijanme..
Yo, como vengo de pascal, lo que me hago es un while que itere hasta que mi carácter sea diferente a un carácter dado, como por ejemplo $, y mientras ese carácater no sea mi signo de pesos lo que hago es almacenar el carácter dado por la entrada estándar en una variable tipo char. De esa manera siempre trabajo con char, que para mi es más fácil ya que strings nunca lo usé.
Sería algo así lo que hago yo:
int tope = 0;
scanf ("%c", &frase[tope]);
while (frase[tope] != '$') {
tope++;
scanf ("%c", &frase[tope]);
}
De esa manera mi string es guardado en frase hasta que por la entrada estandar se recibe un $. Luego en tope vas a tener la cantidad de carácteres que ingresaste por la entrada estandar. De esa manera si quisieras recorrer el arreglo entero, iteras de 0 hasta tope-1 (0 < tope ). Y ahí podés operar en todo tu arreglo ya sea para mostrarlo en pantalla, para comparar carácter por carácter con una letra o cadena de letras que tu quieras... Por eso lo hago así, es cómodo y fácil de entender para mi.
Si alguien tiene una idea alternativa con gusto lo leo