Supponiamo di voler scrivere una funzione che concatena due stringhe in C. Il modo in cui scriverei è:
void concat(char s[], char t[]){
int i = 0;
int j = 0;
while (s[i] != 'void concat(char s[], char t[]){
int i, j;
i = j = 0;
while (s[i] != 'void concat(char s[], char t[]){
int i = 0;
int j = 0;
while (s[i] != 'void concat(char s[], char t[]){
int i, j;
i = j = 0;
while (s[i] != '%pre%') i++;
while ((s[i++]=t[j++]) != '%pre%');
}
'){
i++;
}
while (t[j] != '%pre%'){
s[i] = t[j];
i++;
j++;
}
s[i] = '%pre%';
}
') i++;
while ((s[i++]=t[j++]) != '%pre%');
}
'){
i++;
}
while (t[j] != '%pre%'){
s[i] = t[j];
i++;
j++;
}
s[i] = '%pre%';
}
Tuttavia, K & R nel loro libro l'hanno implementato in modo diverso, in particolare includendo tanto nella condizione parte del tempo loop il più possibile:
%pre%Qual è il modo preferito? È incoraggiato o scoraggiato scrivere codice come fa K & R? Credo che la mia versione sarebbe più facile da leggere da altre persone.