Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2011, 12:33   #21
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Цитата:
Сообщение от JuniorProger Посмотреть сообщение
Что ты хочешь получить этой конструкцией (*++argv)[0] ?
Получить символ (к примеру Q) при вводе в командной строку progname.exe QBX
Код:
int c = (*++argv)[0];
Я понял почему следующий код работает. Компилятор, видимо, преобразует массив указателей на char к просто указателю на указатель на char (). А оболочка командной строки инициализирует строки.
Код:
#include <stdio.h>
#include <string.h>

int main(int argc, char* argv[]) {
    int c;

    c = (*++argv)[0];
    printf("c = %c", c);

    return 0;
}
А этот работать не будет:
Код:
#include <stdio.h>
#include <string.h>

int main() {
    int c;
    char* argv[] = {"abc", "123"};

    c = (*++argv)[0];
    printf("c = %c", c);

    return 0;
}
Так как нельзя делать так:
Код:
#include <stdio.h>
#include <string.h>

int main() {
    int c;
    char a[] = {"abc"};

    c = *(++a);
    printf("c = %c", c);

    return 0;
}
8Observer8 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при установке KOL&MSK DKENT Компоненты Delphi 0 21.09.2011 10:36
Ошибка c AnsiChar & Char Яр|/||< (^_^) Общие вопросы Delphi 3 19.02.2010 21:22
TForm & TImage & PNG & Прозрачность delphi_beginner Общие вопросы Delphi 7 19.09.2009 08:46
EMS InterBase & FireBird Manager 3 ошибка создания Базы данных Gilio БД в Delphi 2 08.05.2009 15:59