// timings.c ... time some string functionality in C #include #include #include #include #include #define MAX_LEN 200 char coutc[MAX_LEN + 1]; char outcoutc[MAX_LEN + 1]; void ctoupper(char *inlower) { coutc[0] = '\0'; for (int i=0; i= 'a' && *(inlower + i) <= 'z') { *(coutc + i) = *(inlower + i) + ('A' - 'a'); } else { *(coutc + i) = *(inlower + i); } } } void ptoupper(char *inlower, char **outc) { *outc = malloc(strlen(inlower) + 1); if (outc != NULL) { *(*outc + 0) = '\0'; for (int i=0; i= 'a' && *(inlower + i) <= 'z') { *(*outc + i) = *(inlower + i) + ('A' - 'a'); } else { *(*outc + i) = *(inlower + i); } } } } int main() { char name[MAX_LEN + 1], *ucname; clock_t ticks_before, ticks_after; double diffsc; int i, j = -1, igoes = 60000; char key[2] = "a"; printf("\n\nC string functions timings ...\n\nPlease enter a string to work with: "); scanf("%[^\n]s", &name); // ptoupper() ticks_before = clock(); for (i=0; i