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

C для начинающих

Войти
Регистрация
Восстановить пароль
 
Quickson
11 / 11 / 3
Регистрация: 18.09.2012
Сообщений: 29
#1

Организовать вывод структуры на экран - C (СИ)

20.09.2012, 21:47. Просмотров 484. Ответов 8
Метки нет (Все метки)

Доброго время суток. Подскажите, пожалуйста, знающие люди, как в Си организовать вывод структуры на экран. Почему вот этот код ничего не печатает?

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <string.h>
#include <conio.h>
struct sentence
{
    char *str;
};
sentence sntnc[50];
 
int main ()
{
    
    printf("Enter a string ");
    scanf ("%s ",&sntnc[1].str);
 
    printf ("%s ",sntnc[1].str);
    getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.09.2012, 21:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Организовать вывод структуры на экран (C (СИ)):

Организовать обычный ввод с клавиатуры и вывод на экран - C (СИ)
Хотела организовать обычный ввод с клавиатуры и вывод на экран:( # include &lt;stdio.h&gt; void main (void) { int i, mas; ...

Вывод на экран элементов структуры - C (СИ)
помогите пожалуйста с програмкой.Прохожу практику по книге где нужно записать данные в структуру, захотел вывести на экран а програмка...

Вывод элементов структуры на экран - C (СИ)
Три вечера уже с этим сижу, не получается. Задана структура struct DAY {char *name; int num; } DAY day_tab= { ...

Чтение структуры из файла и вывод на экран - C (СИ)
Подскажите, пожалуйста, как считать подобную структуру из файла? 1. Вопрос, состоящий из нескольких слов 1....

Как организовать создание и удаление динамической структуры - C (СИ)
подскажите пожалуйста как организовать создание и удаление динамической struct на чистом Си // Заранее спасибо...

Организовать создание односвязного списка с последующим созданием новых элементов данной структуры - C (СИ)
Доброго вам здравия. Мне необходимо написать базу данных на Си с помощью односвязного списка. И вот у меня вопрос. Есть структура:...

8
edward_jonson
158 / 158 / 25
Регистрация: 23.02.2011
Сообщений: 392
20.09.2012, 21:58 #2
Память надо выделить.
C
1
sntnc[1].str = (char*)malloc( sizeof(40 * char) );
Ну и соответственно освободить. И так для каждого элемента sntnc, с которым собираетесь работать.

Добавлено через 3 минуты
И структуры надо объявлять так -
C
1
struct sentence sntnc[50];
1
castaway
Эксперт С++
4887 / 3022 / 370
Регистрация: 10.11.2010
Сообщений: 11,080
Записей в блоге: 10
Завершенные тесты: 1
20.09.2012, 21:58 #3
Память надо выделять для того чтобы туда поместилась хоть какая-то строка.
C
1
sntnc[1].str = (char *)malloc( 100 );
При вводе строки оператор & не нужен в твоем случае:
C
1
scanf( "%s ", sntnc[1].str );
1
Quickson
11 / 11 / 3
Регистрация: 18.09.2012
Сообщений: 29
20.09.2012, 22:17  [ТС] #4
О, вроде все исправил)
Спасибо за помощь)
Но у меня когда тестирую программа печатает только после того как введешь любые две строки. При этом выводит только первую. Почему так происходит?
0
castaway
Эксперт С++
4887 / 3022 / 370
Регистрация: 10.11.2010
Сообщений: 11,080
Записей в блоге: 10
Завершенные тесты: 1
20.09.2012, 22:19 #5
После последнего printf поставь fflush( stdout );
1
Quickson
11 / 11 / 3
Регистрация: 18.09.2012
Сообщений: 29
20.09.2012, 22:23  [ТС] #6
Не помогает. Все так же Только после 2 ввода, выводит первую строку.
0
lowercase
212 / 201 / 34
Регистрация: 09.05.2012
Сообщений: 494
20.09.2012, 22:26 #7
C
1
2
scanf( "%s ", sntnc[1].str );
scanf( "%s", sntnc[1].str );
разницу видишь?
2
castaway
Эксперт С++
4887 / 3022 / 370
Регистрация: 10.11.2010
Сообщений: 11,080
Записей в блоге: 10
Завершенные тесты: 1
20.09.2012, 22:28 #8
Quickson, покажи что получилось.

Добавлено через 31 секунду
lowercase, думаешь из-за этого? (лень проверять, но не думаю что проблема в этом)
1
Quickson
11 / 11 / 3
Регистрация: 18.09.2012
Сообщений: 29
20.09.2012, 22:30  [ТС] #9
Цитата Сообщение от lowercase Посмотреть сообщение
C
1
2
scanf( "%s ", sntnc[1].str );
scanf( "%s", sntnc[1].str );
разницу видишь?
Ахахаха
Вот так вот))
Никогда бы не подумал что из-за пробела могут такие проблемы появится)
Спасибо большое за помощь)
0
20.09.2012, 22:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.09.2012, 22:30
Привет! Вот еще темы с ответами:

Организовать постраничный вывод информации - C (СИ)
вводятся значения начальное x1 и конечное x2 с шагом dx x1 f x1+dx f x1+dx+dx f и так далее Выводится вся...

Структуры: Организовать работоспособность функции "редактировать существующую запись" - C (СИ)
У меня есть структура nrg В ней некоторое количество полей, а именно: ID Num name NameOfTarif Counter Все поля типа int. У...

Как организовать вывод переменных посредством printf - C (СИ)
Интересует такой нюанс. Как организовать вывод этих переменных таким образом? т.е. printf('текст..', &lt;вывод значения&gt;, '..продолжение...

Организовать ввод / вывод данных без динамических массивов - C (СИ)
данная программа вычисляет стипендию у студентов так вот необходимо ввести номер студента и его оценку но без динамических массивов как в...


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

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

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