diff --git a/c_modern_approach/Strings/argc_argv.c b/c_modern_approach/Strings/argc_argv.c new file mode 100644 index 0000000..6d6c975 --- /dev/null +++ b/c_modern_approach/Strings/argc_argv.c @@ -0,0 +1,26 @@ +#include +#include +int main(int argc, char *argv[]) { + // Reading CLI arguments + char **p; + // Iterating from 1 due to the app name at 0 index + for (p = &argv[1]; *p != NULL; p++) { + printf("%s\n", *p); + } + printf("-----\n"); + // Another way + for (int n = 1; n < argc; n++) { + char *argument = argv[n]; + // Option 1 (Idiom 1 of finding end of string) + /* printf("%c", *argument); */ + /* while (*argument++) { */ + /* printf("%c", *argument); */ + /* } */ + // Option 2 (Idiom 2 of finding end of string) + while (*argument) { + printf("%c", *argument); + argument++; + } + printf("\n"); + } +}