Autor
|
Tema: Duda con un printf de caracteres (Leído 2,234 veces)
|
rosky
Desconectado
Mensajes: 8
|
Hola a todos, tengo una dudilla con este código: #include <stdio.h> int ff (int a, int b) { if (a <= b/2) { return 1; } else { return 0; } } void main () { char msg[]="Informatica Aplicada"; int a = sizeof(msg)/sizeof(msg[0]), b=0; do { if (ff(b, a) == 0) { } ++b; } while (b<a-1); }
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
Mensajes: 3.412
ASMático
|
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
Mensajes: 8
|
pero en qué momento aparece la división 21/2? No es b/2 que es 0? saludos.
|
|
|
En línea
|
|
|
|
engel lex
|
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 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 int ff (int a, int b)
siempre lo primero será a y lo segundo bcuando haces 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 bpor 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
Mensajes: 8
|
Aaahh vale, perfecto, ahora lo entiendo, muchas gracias
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
duda con visualizacion de caracteres
Programación Visual Basic
|
Anteros
|
9
|
3,028
|
8 Junio 2008, 17:34 pm
por Anteros
|
|
|
printf , tengo una duda
Programación C/C++
|
<<<-Basura->>>
|
3
|
2,910
|
14 Junio 2011, 04:41 am
por <<<-Basura->>>
|
|
|
Duda con caracteres extraños
PHP
|
Shell Root
|
4
|
3,705
|
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,382
|
28 Septiembre 2012, 23:05 pm
por leosansan
|
|
|
duda con arreglo de caracteres
Programación C/C++
|
m@o_614
|
6
|
3,222
|
2 Abril 2014, 19:22 pm
por rir3760
|
|