Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
Ayuda con printf y su formato %s
Autor Mensaje
agusbrand Sin conexión
Profesor del Modulo A

*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 220
Agradecimientos dados: 104
Agradecimientos: 55 en 19 posts
Registro en: Dec 2010
Mensaje: #1
Ayuda con printf y su formato %s Dudas y recomendaciones Sintaxis y Semántica de los Lenguajes
Nuestro profe nos obligó para el parcial investigar la diferencia entre
printf("%s", vector);
y
printf(vector);

siendo el vector una cadena de caracteres que siempre termina en /n/0 por ejemplo: "prueba/n/0"
(es uno de los programas del libro K&K)

nos preguntó por qué en el libro aparece la primera forma y no la segunda?

No entiendo el por qué... ya que probé las dos formas y funcionan perfecto =S

Espero puedan ayudarme!
Gracias!




#include <stdio.h>
#define MAXLINE 1000 /* maximum input line length */

int getline(char line[], int maxline);
void copy(char to[], char from[]);

/* print the longest input line */
main()
{
int len; /* current line length */
int max; /* maximum length seen so far */
char line[MAXLINE]; /* current input line */
char longest[MAXLINE]; /* longest line saved here */
max = 0;
while ((len = getline(line, MAXLINE)) > 0)
if (len > max) {
max = len;
copy(longest, line);
}
if (max > 0) /* there was a line */
printf("%s", longest);
return 0;
}

/* getline: read a line into s, return length */
int getline(char s[],int lim)
{
int c, i;
for (i=0; i < lim-1 && (c=getchar())!=EOF && c!='\n'; ++i)
s[i] = c;
if (c == '\n') {
s[i] = c;
++i;
}
s[i] = '\0';
return i;
}

/* copy: copy 'from' into 'to'; assume to is big enough */
void copy(char to[], char from[])
{
int i;
i = 0;
while ((to[i] = from[i]) != '\0')
++i;
}

(Este mensaje fue modificado por última vez en: 30-05-2013 20:54 por agusbrand.)
30-05-2013 20:52
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
grmnn Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 40
Agradecimientos dados: 16
Agradecimientos: 8 en 5 posts
Registro en: Feb 2013
Mensaje: #2
RE: Ayuda con printf y su formato %s
Porque la función printf necesita que le pongas algo entre comillas (" ") y el formato de ese algo (%). En tu caso printf("%s",vector), estás diciendo que vector es un string (%s), o en su defecto un char*.
30-05-2013 23:41
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] grmnn recibio 1 Gracias por este post
mercevico (03-06-2013)
Militou Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 2
Agradecimientos dados: 0
Agradecimientos: 0 en 0 posts
Registro en: Feb 2013
Mensaje: #3
RE: Ayuda con printf y su formato %s
(30-05-2013 23:41)grmnn escribió:  Porque la función printf necesita que le pongas algo entre comillas (" ") y el formato de ese algo (%). En tu caso printf("%s",vector), estás diciendo que vector es un string (%s), o en su defecto un char*.

UP!!


Estoy en la misma y no entiendo esa rta =(
03-06-2013 00:18
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
mercevico Sin conexión
Empleado de Fotocopiadora
Que los sueños, no sean sólo...
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 34
Agradecimientos dados: 23
Agradecimientos: 8 en 7 posts
Registro en: May 2013
Mensaje: #4
RE: Ayuda con printf y su formato %s
Yo estoy en la misma!! Y más ahora q tengo parcial hoy a la noche!!
Quizas si todos contestemos lo mismo lo toma como válido (??)
Por lo que pude comprender, el printf es una impresión con formato, por lo que necesita de una constante literal.. De ahí se pasa el "%s", ya que es necesario es necesario pasarle algo entre comillas, y en este caso se le pasa el formato de string que es %s..
03-06-2013 14:27
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Jarry Sin conexión
Anomalía de Belady
I know teh codez
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.945
Agradecimientos dados: 177
Agradecimientos: 184 en 83 posts
Registro en: May 2008
Mensaje: #5
RE: Ayuda con printf y su formato %s
http://net.pku.edu.cn/~course/cs101/2008...nguage.pdf

B.1.2 Formatted Output

No estoy necesariamente de acuerdo con lo que dice en el post de arriba
[Imagen: 971aa6599664453c05cb3e42d58bbc0eo.jpg]
03-06-2013 15:08
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Arshak Sin conexión
Profesor del Modulo A
2do año de 20
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 314
Agradecimientos dados: 70
Agradecimientos: 55 en 24 posts
Registro en: Feb 2012
Mensaje: #6
RE: Ayuda con printf y su formato %s
Te doy un ejemplo, capaz que te ayuda.

El método printf es para imprimir texto con formato, por ejemplo agregar saltos de línea al texto.




System.out.printf( "%s\n%s","Bienvenido a", "la programacion en Java!" );


En este ejemplo, \n indica al compilador que debe imprimir un salto de línea entre los argumentos %s y %s.
El primer %s representa al string "Bienvenido a", mietras que el segundo %s es el string "la programacion en Java!"

En pocas palabras %s es como una variable que toma el valor de lo que esté en la correspondiente posición luego del primer argumento, (en este ejemplo hay 3 argumentos: <%s\n%s> - <Bienvenido a> - <la programacion en Java!>)

"No soy un pesimista, soy un optimista bien informado"
José Saramago

Spoiler: Mostrar
[Imagen: grafico+es2g.png]
(Este mensaje fue modificado por última vez en: 03-06-2013 16:47 por Arshak.)
03-06-2013 16:46
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.