elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda con un printf de caracteres
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con un printf de caracteres  (Leído 2,204 veces)
rosky

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Duda con un printf de caracteres
« en: 21 Enero 2017, 21:35 pm »

Hola a todos, tengo una dudilla con este código:
Código
  1. #include <stdio.h>
  2. int ff (int a, int b) {
  3. if (a <= b/2) { return 1; }
  4. else { return 0; }
  5. }
  6. void main () {
  7. char msg[]="Informatica Aplicada";
  8. int a = sizeof(msg)/sizeof(msg[0]), b=0;
  9. do {
  10. if (ff(b, a) == 0) {
  11. printf("|%c|", msg[b]);
  12. }
  13. ++b;
  14. } while (b<a-1);
  15. printf("\nFin ;-)\n");
  16. }


En el printf, lo que muestra por pantalla,no se por qué me aparece por pantalla esto:
| |, es decir, el primer caracter del do while, cuando b en ese momento vale 11, no entiendo pr qué vale 11, no se si me explico. Un saludo a todos y gracias de antemano.


« Última modificación: 21 Enero 2017, 21:41 pm por rosky » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Duda con un printf de caracteres
« Respuesta #1 en: 21 Enero 2017, 21:55 pm »

a = 21
21/2 = 10
Por tanto, solo escribirá los caracteres que sean mayores que 10 (empezando por el 11, el espacio)


En línea

rosky

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Duda con un printf de caracteres
« Respuesta #2 en: 21 Enero 2017, 23:09 pm »

pero en qué momento aparece la división 21/2? No es b/2 que es 0? saludos.
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Duda con un printf de caracteres
« Respuesta #3 en: 21 Enero 2017, 23:44 pm »

recuerda los "scope", es decir los alcances en el codigo... lo que stá dentro de las llaves del main es otro scope diferente a las de las llaves del ff, y lo que se declare en una no tiene nada que ver con la otra

imagina que hicieras
Código
  1. ff(p, q)

dentro de ff, p representa el primer agumento que es a y q representa el segundo que es b porque así está definida

Código
  1. int ff (int a, int b)

siempre lo primero será a y lo segundo b

cuando haces

Código
  1. ff(b, a) == 0

no importa si las variables se llaman a, b ,q, p ,j, etc... se llamarán dentro de la función como esté definido en la cabecera de la misma, la primera es a y la segunda es b

por eso es importante al programar colocar nombres claros y legibles a las variables, a algunos les da pereza colocarles nombres largos porque "tardan en escribirlas" pero en realidad no te quita más de 2 segundos por vez que la escribes... más vas a perder con errores como este
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
rosky

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Duda con un printf de caracteres
« Respuesta #4 en: 21 Enero 2017, 23:46 pm »

Aaahh vale, perfecto, ahora lo entiendo, muchas gracias ;-)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
duda con visualizacion de caracteres
Programación Visual Basic
Anteros 9 3,014 Último mensaje 8 Junio 2008, 17:34 pm
por Anteros
printf , tengo una duda
Programación C/C++
<<<-Basura->>> 3 2,883 Último mensaje 14 Junio 2011, 04:41 am
por <<<-Basura->>>
Duda con caracteres extraños
PHP
Shell Root 4 3,693 Último mensaje 1 Octubre 2011, 19:33 pm
por Carluís
Duda de cadena de caracteres en C « 1 2 »
Programación C/C++
Ixcal 13 6,299 Último mensaje 28 Septiembre 2012, 23:05 pm
por leosansan
duda con arreglo de caracteres
Programación C/C++
m@o_614 6 3,185 Último mensaje 2 Abril 2014, 19:22 pm
por rir3760
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines