Está en la página 1de 1

Una

caracteristica importante de los protipos de funciones es la coercin de


argumentos, es decir, forzar la converion de argumentos al tipo apropiado. Por
ejemplo, la funcin matemtica sqrt de la biblioteca puede llamarse con un argumento
entero incluso si el prototipo de la funcin en math.h especifica un argumento
doubl.
El prototipo de la funcin provoca que el compilador convierta el valor entero 4 a
valor doubl 4.0 antes de que el valor pase a sqrt. En general los valores de
argumentos que no corresponden de manera precisa con los tipos de parmetros en el
prototipo de la funcin, se convierten al tipo apropiado antes que se llame la funcin.
Estas conversiones pueden provocar resultados incorrectos si no se siguen a reglas de
promocin de C. Las reglas de promocin especifican la manera en que los tipos de
datos pueden convertirse a otros tipos sin perder datos. En el ejemplo de sqrt, un int
se convierte de manera automtica a un double sin modificar su valor. Sin embargo,
un double que se convierte a int trunca la parte fraccionaria del valor double.

Las reglas de promocin se aplican de manera automtica a expresiones que contiene
valores de dos o mas tipos de datos (tambin llamadas expresiones mixtas ). El tipo de
cada valor en una expresin mixta se promueve de manera automtica al tipo mas alto
en la expresin.

También podría gustarte