Red de conocimiento informático - Computadora portátil - C Escriba una función que tome un número hexadecimal y genere el número decimal correspondiente.

C Escriba una función que tome un número hexadecimal y genere el número decimal correspondiente.

#includeamp;lt;stdio.hamp;gt;

#includeamp;lt;string.hamp;gt;

#includeamp;lt;matemáticas. hamp;gt;

/************ ****************

*función: convertir*< / p>

*función: Convertir hexadecimal a decimal*

************************/

void conver(char arr[])

{

int i, j=0, k=0, sum=0, n=strlen(arr); p>

int num[100];

for(i=0;iamp;lt;n;i)

{

cambiar (arrlt ; igt;)

{

caso'A': num[j]=10;

romper;

caso'B': num[ j ]=11;

descanso

caso 'C': num[j ]=12;

descanso

caso; 'D'.num[j]=13;

romper;

caso'E': num[j]=14;

romper

caso 'F': num[j ]=15;

break;

predeterminado: num[j ]=( int)(arrlt; igt; -' 0');

romper;

}

}

for(i=n-1; iamp; gt; =0 ;i--)

suma =numlt;igt;*pow(16,n-1-i);

printf("Resultado de la conversión:\nd",suma );

}

int main()

{

char arr[10];

printf (" Introduzca un número hexadecimal:\n");

gets(arr);

conver(arr);

return 0;

}

Extensión:

Devolver 0 significa que el programa sale normalmente. return es una declaración preparada en C que proporciona una forma de finalizar la ejecución de la función. Cuando una declaración de retorno proporciona un valor, ese valor se convierte en el valor de retorno de la función.

La declaración return se utiliza para finalizar un bucle o devolver un valor de función.

1. Devolver 0 significa que el programa sale normalmente y regresa al programa principal para continuar con la ejecución.

2. Retorno 1 significa que el programa sale de manera anormal, regresa a la función principal del programa para su procesamiento y continúa la ejecución. Devolver 0 o devolver 1 no tiene ningún efecto en el orden de ejecución del programa, pero estamos acostumbrados a usar retorno (0) para salir de la subrutina.

Resumen

return es una declaración preparada en C que proporciona una forma de finalizar la ejecución de una función. Cuando una declaración de retorno proporciona un valor, ese valor se convierte en el valor de retorno de la función.

Hablando de retorno, es necesario mencionar la definición de la función principal. La siguiente información proviene de Internet y será de gran ayuda para comprender el valor de retorno en la función principal.

Mucha gente e incluso algunos libros del mercado utilizan void main(), lo cual es incorrecto. void main() nunca se ha definido en C/C.

Bjarne Stroustrup, el padre de C, escribió claramente en las preguntas frecuentes de su página de inicio: "Definir void main(){/*...

Nunca ha habido un void main () en C. Hablaré sobre la definición de función principal en los estándares C y C respectivamente.

En C89, main() es aceptable. La obra maestra clásica "El lenguaje de programación C, segunda edición". Brian W. Kernighan y Dennis M. Ritchie usan main() Sin embargo, en el último estándar C99, solo existen dos métodos de definición correctos:

int main(void)

.

int main(int argc, char*argv[])

Por supuesto, podemos cambiarlo ligeramente. Por ejemplo, char*argv[] se puede escribir como char**argv y. argc se puede cambiar a otros nombres de variables (como intval y charval), pero deben cumplir con las reglas de nomenclatura de variables.

Si no son necesarios, utilice int para obtener parámetros desde la línea de comando. main(void); de lo contrario, utilice int main(int argc, char*argv[]).

El tipo de valor de retorno de la función principal debe ser int para que se devuelva. pasado al programa activador del programa (como el sistema operativo).

Si no escribe una declaración de retorno al final de la función principal, C99 requiere que el compilador incluya automáticamente el retorno 0 en el objeto generado. archivo (como un archivo exe); para indicar que el programa se cierra normalmente, aún recomiendo agregar una declaración de retorno al final de la función principal. Aunque esto no es necesario, es un buen hábito.

Tenga en cuenta que vc6 no estará en el destino. Agregue return 0; esto puede deberse a que vc6 es un producto de 1998, por lo que no admite esta función. Ahora comprende por qué le sugiero que agregue una devolución. declaración! Sin embargo, gcc3.2 (compilador de C para Linux) agregará return 0;

al archivo de destino generado.