2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: printf символа в Си
Сообщение16.12.2023, 21:12 
Заслуженный участник


18/01/15
3224
Xo4y3HaTb в сообщении #1622558 писал(а):
Спросил про учебник т.к. думал может есть "классические" какие-нибудь как в математике)

Есть, несомненно (вроде Фихтенгольца).

(Оффтоп)

Давно не писал ничего, как-то не до того. Но нынче не могу удержаться.

Когда-то один мой приятель однокурсник, относительно которого у меня есть все основания считать его экспертом и гуру в данных вопросах, сказал так: "Читай Кернигана-Ритчи. Там же и упражнения есть, прямо на компьютере и делай их. Остальное ...вно.". Данный совет полностью оправдался, и усомниться в его правильности у меня поводов не было. Хотя этот совет был дан уже лет 30 назад, а с тех пор много книжек появилось, и хороших в том числе, но Керниган всё равно очень хорош. Недаром он выдержал у себя на родине уже больше 20 изданий, емнип, и переведен на 25 языков.

 Профиль  
                  
 
 Re: printf символа в Си
Сообщение16.12.2023, 21:55 
Аватара пользователя


22/07/11
850
Xo4y3HaTb в сообщении #1622688 писал(а):
Получилось! Даже больше чем 10 получается, сколько угодно

А вот так не надо... Можно такого "навводить", что потом долго искать придется.
Надо сразу привыкать, что "СИ" программисту не нянька - он за себя не отвечает и за длинами массивов, даже явно объявленных, не следит. Для него идентификатор массива - просто его начальный адрес. Остальное - дело рук самих утопающих.

По-хорошему, в Вашем случае, лучше бы ввести сразу строку, а уж потом её спокойно "разобрать".

 Профиль  
                  
 
 Re: printf символа в Си
Сообщение18.12.2023, 03:24 
Аватара пользователя


28/10/21
100
Xo4y3HaTb в сообщении #1622640 писал(а):
Проверил printf("%lu\n", sizeof(warm) выдаёт 8. Тоже понятно.


Для печати значений типа size_t (напр. результат sizeof) через printf предназначен формат %zu. Не %lu, а %zu.

-- 17.12.2023, 16:29 --

Xo4y3HaTb в сообщении #1622669 писал(а):
Запуская код ниже я каждое из 10 чисел ввожу в новой строке, а мне хочется вводить 10 чисел в одну строку через пробел.


Так вводите! Никто вам не запрещает. Формата %d в scanf всегда сначала пропускает все пробельные символы и для него все виды пробельных символов равнозначны. Можете вводить свои числа через пробел, можете вводить через табуляцию, можете вводить через "перевод строки", можете ввести пять штук через пробел затем использовать "перевод строки" и ввести еще пять через пробел - не имеет никакого значения.

А вот зачем вы воткнули пробел после %d в строку формата scanf - не ясно вообще. Такая программа после ввода 10 чисел будет ждать еще какого-то непробельного ввода. Это странно. Зачем вам это понадобилось?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу Пред.  1, 2

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group