Principiante necesita ayuda

ptr
22 de Enero del 2004
El tema es muy simple (para los que ya sepais de esto)

Tengo que hacer unas practicas en las que el programa en cuestion me pide la inicial de mi nombre, la de mi primer apellido y la del segundo.

Lo que me sucede es lo siguiente: he creado una variable para nombre, otra para ap1 y otra para ap2. Todas ellas son char. Cuando hago un scanf(...), el programa me reconoce la primera letra y me la guarda en la variable nombre, pero en lugar de pasar a preguntarme por el primer apellido, salta al segundo, dejando a ap1 con ningun valor.

Me comentaron que puede que sea algo relacionado con la accion de pulsar el Intro, pero no se como puedo hacer que me funcione.

Muchas gracias, y hasta luego

antonio
22 de Enero del 2004
La clave esta en que el scanf debe tener un espacio en blanco, tal que asi:

char nombre, apellido1, apellido2;
printf("Introduce Inicial nombre:");
scanf(" %c",&nombre); /*espacio en blanco ( %c) */
printf("Introduce Inicial Primer Apellido:");
scanf(" %c",&apellido1);
printf("Introduce Inicial Segundo Apellido:");
scanf(" %c",&apellido2);

Esto es para ignorar el retorno de carro y que no coja ese retorno como la inicial del segundo scanf (el apellido1)

antonio
22 de Enero del 2004
Al enviar el texto se ha comido el caracter de retorno ("n") en los printf (deberia aparecer y solo sale una barra)

antonio
22 de Enero del 2004
Ademas se carga las comillas. Pero como sabes C te imaginas lo que debes poner ¿no? donde pone (barra- comillas solo se pone la comilla)

ptr
22 de Enero del 2004
Vale. Muchas gracias. Ya me habia dado cuenta de los fallos que me comentabas, pero te agradezco la ayuda.

Byes