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

что означает - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.63
hitytu
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 46
02.11.2010, 14:26     что означает #1
Что означает такая инструкция?
C++
1
char str[80];
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dzhej-Dzhej
Заблокирован
02.11.2010, 14:30     что означает #2
массив из 80 символов(char) с именем str
hitytu
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 46
02.11.2010, 14:32  [ТС]     что означает #3
Цитата Сообщение от Dzhej-Dzhej Посмотреть сообщение
массив из 80 символов(char) с именем str
Я набирал больше символов, но программа работала
Dzhej-Dzhej
Заблокирован
02.11.2010, 14:35     что означает #4
Я набирал больше символов, но программа работала
а сколько она(программа) отдавала обратно?
hitytu
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 46
02.11.2010, 14:37  [ТС]     что означает #5
Цитата Сообщение от Dzhej-Dzhej Посмотреть сообщение
а сколько она(программа) отдавала обратно?
столько же. Я набирал ну может 300.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
include <iostream>
#include <cstdio>
using namespace std;
 
int main()
{
  char str[80];
 
  cout << "Enter a string: ";
  gets(str); // read a string from the keyboard
  cout << "Here is your string: ";
  cout << str;
 
  return 0;
}
Dzhej-Dzhej
Заблокирован
02.11.2010, 14:47     что означает #6
cout << str; выдаст всю строку(даже с переполнением) до "\0"
но символы записались дальше строки
и программа виснет после этого, если затронулся код или забивает мусором переменные, если затронулись данные
(то, для чего выделилась память после строки)
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
02.11.2010, 14:51     что означает #7
Это случайное поведение. Программа сработала, но с тем же успехом могла зависнуть (произойдёт переполнение). Вообще это неправильно, и если уж очень хочется пользоваться gets, то делать так:
C
1
2
3
char mas[81];
...
fgets(mas, 81, stdio);
hitytu
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 46
02.11.2010, 14:54  [ТС]     что означает #8
C++
1
bool password();
А что означает bool?
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
02.11.2010, 14:55     что означает #9
Логический тип. Может принимать значения true (истина) или false (ложь).
hitytu
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 46
02.11.2010, 14:59  [ТС]     что означает #10
C++
1
char s[80];
А char ?
shalad
 Аватар для shalad
7 / 7 / 0
Регистрация: 17.05.2010
Сообщений: 122
02.11.2010, 15:12     что означает #11
char - диапазон значений от -128 до 127, то есть для кодировки всех значений по таблице ASCII (Всего 255 значений)
hitytu
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 46
02.11.2010, 15:18  [ТС]     что означает #12
Цитата Сообщение от shalad Посмотреть сообщение
char - диапазон значений от -128 до 127, то есть для кодировки всех значений по таблице ASCII (Всего 255 значений)
а str? Или можно было написать другие буквы?
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
02.11.2010, 15:25     что означает #13
str - имя массива символов, может быть любое!!!
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
02.11.2010, 15:25     что означает #14
А почему бы не почитать что-нибудь о встроенных типах данных и вообще что-нибудь по Си/Си++? А то вы сейчас каждую инструкцию языка начнёте спрашивать.
hitytu
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 46
02.11.2010, 15:27  [ТС]     что означает #15
Цитата Сообщение от silent_1991 Посмотреть сообщение
А почему бы не почитать что-нибудь о встроенных типах данных и вообще что-нибудь по Си/Си++? А то вы сейчас каждую инструкцию языка начнёте спрашивать.
читаю но не слишком понятно. str повторяется во многих кодах.
МаксимМВ
C/C++
90 / 90 / 5
Регистрация: 01.07.2010
Сообщений: 281
02.11.2010, 15:30     что означает #16
Так любят называть массив символов или строку.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
02.11.2010, 15:47     что означает #17
hitytu,
Значит вам надо вернуться в самое начало. Вы дошли до массивов, а ещё не усвоили, что конструкция char str[80] имеет общий вид "тип_данных имя_переменной". А имя, как известно, даётся ребёнку родителями (переменной программистом), и нигде не регламентировано, что эта переменная непременно должна называться так, а эта - так.
hitytu
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 46
02.11.2010, 15:50  [ТС]     что означает #18
Цитата Сообщение от silent_1991 Посмотреть сообщение
hitytu,
Значит вам надо вернуться в самое начало. Вы дошли до массивов, а ещё не усвоили, что конструкция char str[80] имеет общий вид "тип_данных имя_переменной". А имя, как известно, даётся ребёнку родителями (переменной программистом), и нигде не регламентировано, что эта переменная непременно должна называться так, а эта - так.
а если в скобках написать не 80, а скажем 358. Можно тогда вводить 358 символов? или нужна другая инструкция?
Dzhej-Dzhej
Заблокирован
02.11.2010, 15:53     что означает #19
а если в скобках написать не 80, а скажем 358. Можно тогда вводить 358 символов?
можно, главное не больше
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2010, 15:59     что означает
Еще ссылки по теме:

Что означает %d C++
C++ Что означает '\0'
C++ Что означает %1?

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

Или воспользуйтесь поиском по форуму:
silent_1991
02.11.2010, 15:59     что означает
  #20

Не по теме:

Dzhej-Dzhej, т.е. 359 уже не проканает?

Yandex
Объявления
02.11.2010, 15:59     что означает
Ответ Создать тему
Опции темы

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