Форум программистов, компьютерный форум CyberForum.ru

не выводит адрес пробела - C++

Восстановить пароль Регистрация
 
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
25.02.2012, 22:41     не выводит адрес пробела #1
не могу понять почему не выводить адрес пробела что то не могу исправить
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 using namespace std;
void  main()
{
        char s[255],*px;
        
 setlocale(LC_ALL,"Russian");
 cout<<"Введите строку"<<endl;
 gets(s);
 px=&s[0];
 for(int i=0;i<strlen(s);i++)
 {
     if ((*px)==' ')
     {
     cout<<(&px)<<endl;
     }
     *px++;
 }
        system("pause");
}
Добавлено через 17 минут
может подскажите хоть что не то
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2012, 22:41     не выводит адрес пробела
Посмотрите здесь:

Ввод знака пробела C++
Подсчитать количество слов, в тексте от пробела до пробела, и количество букв C++
Написать программу, которая выводит пример на вычитание, запрашивает ответ пользователя, проверяет его и выводит сообщение о правильности C++
с++,циклическая очередь, сразу норм выводит, а потом на где-то логика нарушается и неправильно выводит C++
C++ Адрес объекта, адрес указателя. Где что находится?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
grizlik78
Эксперт С++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,960
25.02.2012, 22:43     не выводит адрес пробела #2
C++
1
cout<<(&px)<<endl;
Выводит адрес переменной-указателя px.
Непосредственно адрес пробела содержится в этой переменной, то есть выводить надо значение, но чтобы выводился указатель, а не строка, тип указателя надо изменить. Например:
C++
1
cout << static_cast<void*>(px) << endl;
Хотя всё-равно, не очень-то понятно, что нужно вывести и в каком виде.
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,051
25.02.2012, 22:47     не выводит адрес пробела #3
по моему так

C++
1
cout<<(px)<<endl;
по мне лучше через принтф
C
1
printf("%x",px);
Добавлено через 2 минуты
но если нужен относительный адрес (например пробел пятый)то выводить разность px и адреса начала строки
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
25.02.2012, 22:49  [ТС]     не выводит адрес пробела #4
мне нужно выводить просто пробелы в строке адреса их
grizlik78
Эксперт С++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,960
25.02.2012, 23:02     не выводит адрес пробела #5
Да вот и не понятно, что значит адреса. Адреса в памяти — два варианта было уже. Про номер символа ValeryS тоже сказал уже, в этом случае так:
C++
1
cout << (px-s) << endl;
odip
Эксперт C++
 Аватар для odip
7225 / 3287 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
26.02.2012, 13:43     не выводит адрес пробела #6
мне нужно выводить просто пробелы в строке адреса их
Сам-то понял что сказал ?
Yandex
Объявления
26.02.2012, 13:43     не выводит адрес пробела
Ответ Создать тему
Опции темы

Текущее время: 04:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru