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

программа по непонятным мне причинам работает неверно - C++

Восстановить пароль Регистрация
 
XAJI9IBA
1 / 1 / 0
Регистрация: 04.12.2012
Сообщений: 26
04.03.2013, 01:20     программа по непонятным мне причинам работает неверно #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cstdio>
#include <iostream>
#include <clocale>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    char s[100];
    char *p;
    cout << "Вводим текст" << endl;
    gets(s);
    for(p = s; *p; ++p)
    {
        if(*p == ' ')
        {
            cout << p;
        }
    }
    return 0;
}
программа должна считывать с клавиатуры текст, а потом выводить адреса пробелов, но почему-то выводит черт знает что, в чем проблема не могу понять
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2013, 01:20     программа по непонятным мне причинам работает неверно
Посмотрите здесь:

Вылет по непонятным причинам! C++
C++ Код по алгоритму, приведенному тут:) Работает неверно
C++ программа на с++,которая мне не дается
Программа с непонятным выводом C++
C++ Неверно работает код *ptr++ = *ptr2++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11846 / 6825 / 771
Регистрация: 27.09.2012
Сообщений: 16,921
Записей в блоге: 2
Завершенные тесты: 1
04.03.2013, 01:23     программа по непонятным мне причинам работает неверно #2
C++
1
cout << (void*)p<<endl;
XAJI9IBA
1 / 1 / 0
Регистрация: 04.12.2012
Сообщений: 26
04.03.2013, 01:27  [ТС]     программа по непонятным мне причинам работает неверно #3
спасибо, так заработало, но я не понимаю в чем причина
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11846 / 6825 / 771
Регистрация: 27.09.2012
Сообщений: 16,921
Записей в блоге: 2
Завершенные тесты: 1
04.03.2013, 01:33     программа по непонятным мне причинам работает неверно #4
Цитата Сообщение от XAJI9IBA Посмотреть сообщение
но я не понимаю в чем причина
Оператор сдвига для потока вывода с аргументом char* перегружен таким образом, что выводит все символы, начиная с переданного адреса и до завершающего нуля '\0'

Поэтому, чтобы вывести адрес, необходимо кастовать к другому типу
XAJI9IBA
1 / 1 / 0
Регистрация: 04.12.2012
Сообщений: 26
04.03.2013, 01:41  [ТС]     программа по непонятным мне причинам работает неверно #5
благодарю, нужно изучить этот вопрос
Yandex
Объявления
04.03.2013, 01:41     программа по непонятным мне причинам работает неверно
Ответ Создать тему
Опции темы

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