![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 13.04.2009
Сообщений: 117
|
![]()
Привет всем!
int main(int argc, char *argv[]) { int i,n; string * str[10]; printf ("How many strings? "); scanf ("%d", &n); for (i=0;i<n;i++) { str[i] = (string*) malloc (sizeof(str[i])); if (str[i]==NULL) exit (1); scanf("%s\n",&str[i]); str[i]+='\0'; } for (i=0;i<n;i++) {printf ("string%d: %s\n",i,&str[i]); free (str[i]); } system("PAUSE"); return EXIT_SUCCESS; } а теперь вопрос : почему когда я вначале ввожу например 3 он читает 4 строки??? Заранее благодарю-с |
![]() |
![]() |
![]() |
#2 |
Участник клуба Подтвердите свой е-майл
Регистрация: 14.12.2007
Сообщений: 1,434
|
![]() Код:
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
![]() |
![]() |
![]() |
![]() |
#3 |
Maniac
Форумчанин
Регистрация: 03.01.2009
Сообщений: 450
|
![]()
SunKnight, тогда 5 будет.
Код:
nusik, Вы на С или С++ пишете?
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
Последний раз редактировалось ISergeyN; 19.05.2009 в 23:14. Причина: добавил |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,087
|
![]()
string - это строка из библиотеки STL?
Тогда использовать нужно new, а не malloc. И в scanf её нельзя вводить. Только посредством cin или же в какой-нибудь буферный массив символов вводить ив строку уже копировать. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 13.04.2009
Сообщений: 117
|
![]() |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 13.04.2009
Сообщений: 117
|
![]()
#include <cstdlib>
#include <iostream> #include <string.h> using namespace std; int main(int argc, char *argv[]) { int i,n; string * str[10]; printf ("How many strings? "); scanf ("%d", &n); for (i=0;i<10;i++) str[i]=(string*)"\0"; for (i=0;i<n;i++) { str[i] = (string*) malloc (sizeof(str[i])); if (str[i]==NULL) exit (1); scanf("%s\n",&str[i]); str[i]+='\0'; } for (i=0;i<n;i++) {printf ("string: %s\n",&str[i]); free (str[i]); } system("PAUSE"); return EXIT_SUCCESS; } |
![]() |
![]() |
![]() |
#7 |
Maniac
Форумчанин
Регистрация: 03.01.2009
Сообщений: 450
|
![]()
пишу на с++
Мда... Код:
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
не читает входную строчку | DoGGy | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 23.01.2009 21:46 |
плеер Divx не читает | Xatr | Софт | 4 | 26.12.2008 03:00 |
DEV C++ не читает русские буквы | gumar | Общие вопросы C/C++ | 1 | 21.04.2008 09:53 |
DVD после записи не читает собственные диски | photozaz | Свободное общение | 14 | 10.04.2008 12:17 |