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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
slipp1
13 / 12 / 1
Регистрация: 09.11.2012
Сообщений: 367
Записей в блоге: 1
#1

строка-указатель - C++

12.05.2013, 01:16. Просмотров 250. Ответов 3
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
using namespace std;
 
 
int main()
{
    char *original="1brainED 2brainED 3brainED notprint 4brainED 5brainED notprint 6brainED";
 
    while(*original!='\0')
    {
        cout<<"!!!!"<<endl;
    }
return 0;
}
строка указатель имеет ограничивающий нуль символ? нет?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2013, 01:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос строка-указатель (C++):

Указатель и строка - C++
Нужно с помощью указателя на строку, реализовать функцию которая будет разбивать эту строку на слова и записывать каждое в массив типа...

Командная строка. Безтиповой указатель. - C++
Вот примерная прога которая должна запускаться на борланде. Вопрос в следующем можно ли написать эту ф-цию для среды Visual(проблема...

Почему указатель на символ интерпретируется как текстовая строка - C++
Почему указатель на символ является строкой?

Как получить ссылку на указатель или указатель на указатель в массиве? - C++
В процессе реализации сортировки пузырьком натолкнулся на такую проблему: как поменять значения указателей, передаваемых в функцию. Если...

Определить класс «строка символов» с компонентными данными: длина строки, указатель на строку. Перегрузить оп - C++
Определить класс «строка символов» с компонентными данными: длина строки, указатель на строку. Перегрузить операции: &lt;&lt; (вывод в виде...

Символьная строка вводится с консоли (используя указатель) Найти минимальное слово в строке и перевернуть его - C++
Ввести символьную строку (используя указатель). Найти в строке самое короткое слово и удалить его из строки. В строке слова разделены...

3
Precise
26 / 26 / 1
Регистрация: 20.05.2012
Сообщений: 43
12.05.2013, 01:34 #2
Как видно ниже в обоих случаех присутствует символ конца строки!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
#include <string>
 
using namespace std;
 
 
int main()
{
    char *original1="brainED 2brainED 3brainED notprint 4brainED 5brainED notprint 6brainED";
    string original2="brainED 2brainED 3brainED notprint 4brainED 5brainED notprint 6brainED";
    int index = original2.size();
 
    if(original2[index]!='\0')
    {
        cout<<original2[index]<<endl;
    }
        cin.get();
 
    if(original1[index-1]!='\0')
    {
        cout<<original1[index-1]<<endl;
    }
    cin.get();
return 0;
}
1
slipp1
13 / 12 / 1
Регистрация: 09.11.2012
Сообщений: 367
Записей в блоге: 1
12.05.2013, 01:41  [ТС] #3
почему тогда мой код не работает?

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
using namespace std;
 
 
int main()
{
    char *original="1brainED 2brainED 3brainED notprint 4brainED 5brainED notprint 6brainED";
 
    while(*original!='\0')
    {
        cout<<"!!!!"<<endl;
        original++;
    }
return 0;
}
исправил, пардон
0
Precise
26 / 26 / 1
Регистрация: 20.05.2012
Сообщений: 43
12.05.2013, 01:44 #4
Потому что *original - это первый символ вашей строки, вы в цикле сравниваете первый символ с нулевым символом, и у вас возникает бессконечный цикл! Напишите
C++
1
cout<<*original<<endl;
И убедитесь в моих словах. Теперь, все правильно!
0
12.05.2013, 01:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2013, 01:44
Привет! Вот еще темы с ответами:

Функция, принимающая указатель и число байт и выделяющая память под указатель - C++
Здравствуйте. Задача легкая, но почему-то завис Нужно написать функцию, принимающую указатель и число байт и выделяющую память под...

Функция, получающая указатель на обычную функцию, получает указатель на метод класса - C++
Здравтсвуйте. Имеется вопрос по указателям на методы класса. Допустим, есть функция( f ), которая принимает указатель на функцию и...

Как правильно удалять выделенную память под указатель на указатель? - C++
есть код #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; using namespace std; void sort_1(const...

Реализация двоичных деревьев поиска: Зачем в параметрах функции используется указатель на указатель - C++
Всем привет, встретил в книге такой пример добавления узла в дерево: typedef struct tree { int data; tree *left, *right,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.