Códigos de error y parámetros de salida en C
La convención de C: retornar éxito o falla y entregar el valor a través de un puntero.
#include <stdlib.h>
#include <string.h>
int parse_pair(const char *text, int *first, int *second) {
if (text == NULL || first == NULL || second == NULL) {
return 0;
}
const char *comma = strchr(text, ',');
if (comma == NULL) {
return 0;
}
*first = atoi(text);
*second = atoi(comma + 1);
return 1;
}
int use_it(void) {
int a = 0;
int b = 0;
if (!parse_pair("3,4", &a, &b)) {
return -1;
}
return a * b;
}
Cómo funciona
- Cero o negativo para la falla mantiene el chequeo uniforme.
- El parámetro de salida solo se escribe en el éxito.
- Quien llama puede encadenar chequeos sin anidar profundo.
Palabras clave y builtins usados aquí
NULLcharconstifintreturnvoid
El intento, en números
- Líneas
- 24
- Caracteres a escribir
- 404
- Tokens
- 138
- Ritmo de tres estrellas
- 100 tpm
Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 83 segundos.
Paso 1 de 4 en Firmas; paso 1 de 11 en APIs, errores y pruebas.