| 
	
		|  Autor | Tema: Duda con un printf de caracteres  (Leído 2,489 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 = 2121/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 esa  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 segundob cuando 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 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 
								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,309 |  8 Junio 2008, 17:34 pm por Anteros
 |  
						|   |   | printf , tengo una duda Programación C/C++
 | <<<-Basura->>> | 3 | 3,190 |  14 Junio 2011, 04:41 am por <<<-Basura->>>
 |  
						|   |   | Duda con caracteres extraños PHP
 | Shell Root | 4 | 3,949 |  1 Octubre 2011, 19:33 pm por Carluís
 |  
						|   |   | Duda de cadena de caracteres en C
							« 1 2 » Programación C/C++
 | Ixcal | 13 | 7,017 |  28 Septiembre 2012, 23:05 pm por leosansan
 |  
						|   |   | duda con arreglo de caracteres Programación C/C++
 | m@o_614 | 6 | 3,632 |  2 Abril 2014, 19:22 pm por rir3760
 |    |