Форум программистов, компьютерный форум, киберфорум
Наши страницы

Аргументы N2 командной строки посимвольно не считывается. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Упорядочить массив http://www.cyberforum.ru/cpp-beginners/thread15176.html
Здравствуйте! Помогите пожалста вот с этой задачей: Задан массив из девяти элементов.Сформировать массив, в котором каждому элементу будет присвоено значение справа соседнего с ним. Последнему...
C++ Динамическое выделение памяти в шаблонном классе Здравствуйте! Подскажите пожалуйста как через new выделить память под массив: template <class StkType> class stack { ... StkType stck; StkType *s; s = stck; //StkType *stack; public:... http://www.cyberforum.ru/cpp-beginners/thread15165.html
Проблема с руссификатором C++
Здравствуйте. Я новичок в С++, поэтому прошу не бить тапками. Пишу русификатор для коддинга на MVS2005. То есть если это хреновина будет работать, то можно будет выводить на консоль кирилицу без...
C++ Найти сумму элементов массива, расположенных после первого положительного элемента
помогите с задачкой просто я несилен в C++ если можно то с объяснениями. Вот собственно и она: В одномерном массиве, состоящем из n вещественных элементов вычислить 1)Номер макс. по модулю элемента...
C++ Получить код кнопки http://www.cyberforum.ru/cpp-beginners/thread15111.html
Купил ноутбук HP Compag 6820s. Та новая кнопка (fn). Не могу найти ее код? Помогите!!!!!! С уважением
C++ двухпутевые вставки для C++ Завтра надо лабу сдать, а я никак не могу найти ничё толкового по этим вставкам. Помогите плиз. Горю!!! подробнее

Показать сообщение отдельно
kravam
быдлокодер
1704 / 891 / 45
Регистрация: 04.06.2008
Сообщений: 5,496
04.11.2008, 15:09  [ТС]
Да, Ваша программа работает, спасибо. Я с ней разобрался даже. Но почему не работают другие кострукции в ниженаписанной программе? Вот программа
В ней ваша строчка работает, а 2 моих нет. Почему?

Код
#include <stdio.h>
int main(int argc, char *argv []) {

//Эту строчку предложили Вы
 printf("%c\n", *argv[1]);

//А вот  эту стрчку предложил я
 printf ("%c\n", (*(++argv)) [0]);

//И эту тоже я
 printf ("%c\n", *(*(++argv)));

 return 0; 
};
Подробнее по моим строкам. Поправьте меня, где я неправ.
Пусть програма запущена <имя программы.exe> fghjk

1)Инкриминируем argv После (++argv) переменная argv содержит адрес {указателя на символ f}

2)После *(++argv) переменная *(++argv) содержит адрес символа f

3)Теперь просто берём символ f вот так *(*(++argv)) и пробуем его напечатать.
printf ("%c\n", *(*(++argv)) );
Печатается буква ё

4)Наконец, помня, что *(++argv) указывает на f, а f нулевой символ массива, пытаемся напечатать его по-другому
printf ("%c\n", (*(++argv)) [0]);
Печатается буква ё

Почему буквы ё? Всё же правильно делаю!
Друзья! Помогите, пожалуйста, кому не лень, а то я сам не разберусь.

P. S. Понятное дело, там цикл необходимо будет использовать, если нужно вывести посимволно весь аргумент. НО сперва бы разобраться с выводом одного символа!
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.