Commentaire de Dieu :
#include <stdlib.h>
#include <string.h>
char *my_first_interpreter (const char *code)
{
static char* str = NULL;
size_t length = strlen(code);
str = (char*)calloc(0, length);
size_t count = 0;
size_t pointer = 0;
for(size_t i = 0; i < length; i++) {
if(code[i] == 43) {
count++;
}
if(code[i] == 46) {
char letter = count;
str[pointer] = letter;
pointer++;
}
}
str[pointer] = '\\0';
return str;
}
Conseil, utiliser un while quand on ne connaît pas la longueur d’un string, car c’est plus pour la compréhension que pour de la performance.
#include <string.h>
#include <stdlib.h>
char *my_first_interpreter (const char *code)
{
static char* str = NULL;
str = (char*)calloc(0,sizeof(code));
size_t count = 0;
size_t cursor = 0;
size_t i = 0;
while(code[i]!='\\0') {
if(code[i] == 43) {
count++;
}
if(code[i] == 46) {
char letter = count;
str[cursor] = letter;
cursor++;
}
++i;
}
str[cursor] = '\\0';
return str;
}
Solution préférée mais le mieux serait de mettre le tableau en static