#include #include // version 1 (array notation) int string_length_v1(char str[]) { int len = 0; // equivalent to while (str[len] != '\0') while (str[len]) { len++; } return len; } // version 2 (pointer notation) int string_length_v2(char* str) { int len = 0; while (*str) { len++; str++; // pointer arithmetic } return len; } // version 3 (pointers, but clever) int string_length_v3(char* str) { char* p = str; while (*p) { p++; } return p - str; } int main() { char str[] = "Hello"; size_t len = strlen(str); printf("String: %s\n", str); printf("Length: %zu\n", len); printf("Values: %d %d %d %d %d %d\n", str[0], str[1], str[2], str[3], str[4], str[5]); return 0; }