Учитывая это:
char c[]={ '0', 0, 'o', 'a', 'i', 'e' };
char s_format[] = { "\nBra"
"v%c!\n" };
Целью этой программы является печать различных строк кода в зависимости от ввода, который может быть:
OUTPUT
./nameofmyfile Bravo
./nameofmyfile mp Bravi
./nameofmyfile f Brava
./nameofmyfile fp Brave
В моем основном у меня естьдва указателя на символ:
char *q = c; //this one is initialized at position c[0]
char *p = NULL;
Полагаю, я мог бы использовать только указатель * q, чтобы вывести символ o, i, a или e в s_format без использования конструкции switch.
Возможно ли, что цикл for был бы верным?
for (unsigned int i=2; i<sizeof(c); ++i) {
printf("%c", *(q+i), s_format[4]);
}
Или, возможно, мне следует использовать серию операторов if?
if ( argc > 3 && strlen(argv[3]) ) {
if ( *(argv[3]) == 'f' )
i = 3;
}
if ( argc > 4 && strlen(argv[4]) ) {
if ( *(argv[4]) == 'mp' )
i = 4;
}
if ( argc > 1 && strlen(argv[5]) ) {
if ( *(argv[5]) == 'fp' )
i = 5;
}