На языке C аналог print() из python или console.log() из js с автоматическим определением передаваемых типов данных, кто-то пробовал реализовать?

Рейтинг: 0Ответов: 1Опубликовано: 12.06.2023

На языке C аналог print() из python или console.log() из js с автоматическим определением передаваемых типов данных, кто-то пробовал реализовать ???

Ответы

▲ -1
/* LLama-3-70b-instruct + Некоторые мои исправления под себя = It's work)))))
*/

#include <stdio.h>

typedef enum {
    INTEGER,
    FLOAT,
    CHAR,
    STRING
} type_t;

typedef union {
    int INTEGER;
    float FLOAT;
    char CHAR;
    char* STRING;
} value_t;

void console(type_t type, value_t value) {
    
    switch (type) {
        
        case INTEGER:
            printf("%d\n", value.INTEGER);
            break;
        case FLOAT:
            printf("%f\n", value.FLOAT);
            break;
        case CHAR:
            printf("%c\n", value.CHAR);
            break;
        case STRING:
            printf("%s\n", value.STRING);
            break;
        default:
            printf("Unknown type\n");
            break;
    }
}

int main() {
    
    value_t value;
    type_t type;
/*
    type = INTEGER;
    value.INTEGER = 5;
    console(type, value);
*/
    
    int x = 5;
    int y = 2;
    
    type = INTEGER;
    value.INTEGER = x + y;
    
    console(type, value);

    return 0;
}

Всё невозможное - возможно, получается... Правда через заднее место, но всё же))))