#include #include void test() { char string[] = "Hi there!"; char string2[] = "Hello &"; printf("String: %s\n", string); printf("String2: %s\n", string2); printf("Different format: %p\n", string); printf("String one char at the time: "); int i = 0; for (i = 0; i < strlen(string); i++) { printf("%c", string[i]); } printf("\n and null character: %d\n", string[strlen(string)]); // We can modify any character string[5] = string[0]; printf("String is %s\n", string); // ... and now sum fun ... // Let's create a bug on purpose! We are // overwriting the null character for string2 printf("String length is %lu\n", strlen(string2)); string2[strlen(string2)] = ' '; printf("String length after is %lu\n", strlen(string2)); // When we try to print the string, we read // through memory until the first '\0' printf("String is %s\n", string2); } // Now how to access command-line arguments // and how to manipulate strings int main(int argc, char** argv) { int i; for ( i = 1; i < argc; i++ ) { printf("Next argument is %s\n", argv[i]); } test(); char s1[20] = "Blue "; char s2[] = "gray"; strcat(s1,s2); // But better to use strncat or strlcat printf("\nConcat string is %s\n", s1); return 0; }