Вопросы по теме 'kernighan-and-ritchie'

Какой хороший пример использования регистровой переменной в C?
Я читаю K&R и наткнулся на небольшой раздел, посвященный регистровым переменным, и мне было интересно, есть ли у людей здесь хорошие примеры того, как это реализовано на практике. Из раздела 4.7 в K&R: Объявление регистра выглядит следующим...
30533 просмотров

Возврат указателя на структуру
Я наткнулся на пример, возвращающий структуру в «Языке программирования C» Кернигана и Ритчи. /* binsearch: find word in tab[0]...tab[n-1] */ struct key *binsearch(char *word, struct key *tab, int n) { int cond; struct key *low =...
245 просмотров
schedule 10.04.2023

Ошибка сегментации при печати гистограммы
Хорошо, поэтому я хотел задать этот вопрос: «Напишите программу для печати гистограммы длин слов на входе» (упражнение 1-13 из книги C-программирования Брайана и Денниса Ричи). В этом коде я печатаю только количество слов разной длины (это моя первая...
129 просмотров
schedule 15.07.2022

Программирование на C - пример K&R 1.5.2 - модифицированная программа не работает должным образом
Мой вопрос просто: «Почему мой код в строках 10 и 11 не работает должным образом?» Предполагаемая цель моего кода - делать то же, что и исходный код K&R, но НЕ считать nc всякий раз, когда (getchar() == '\n'), не могли бы вы меня просветить?...
489 просмотров

EOF, упражнение 1-6 K&R Язык программирования C
Это взято прямо из книги K&R: Приоритет != выше, чем = , что означает, что при отсутствии скобок проверка отношения != будет выполняться перед присваиванием = . Итак, заявление c = getchar() != EOF эквивалентно c =...
2165 просмотров
schedule 07.04.2022

тип данных переменной, используемой для хранения ввода getchar(), как char вместо int
#include<stdio.h> int main() { int c; while((c=getchar())!=EOF) putchar(c); putchar(c); //2nd putchar getch(); } В приведенном выше коде из книги «C by Ritchie n Kernighan» причина объявления c...
268 просмотров
schedule 16.04.2024

K&R Упражнение 5-3: Объявление указателей и массивов
Я работаю над языком программирования K&R C и в настоящее время работаю над главой 5 (указатели). У меня проблема с упражнением 5-3: «Напишите версию функции strcat , показанную в главе 2, с указателем: strcat (s,t) копирует строку t в конец s»....
60 просмотров
schedule 15.04.2023

K&R Exercise 2-7, оптимизации?
В настоящее время я изучаю C с помощью "The C Programming Language" от K&R. Я решил упражнение 2-7, в котором говорится: Напишите функцию invert(x,p,n) , которая возвращает x с битами n , которые начинаются с позиции p , инвертированными...
242 просмотров

Для приведения массива указателей (например, *array[]), зачем использовать (void**) вместо (void*)
Следующий фрагмент кода взят из K&R Глава 5-11: Указатели на функции: qsort((void**) lineptr, 0, nlines-1, (int (*)(void *, void *)(numeric ? numcmp : strcmp)); Я могу скомпилировать/запустить код с помощью (void*) , так почему вместо...
88 просмотров
schedule 30.06.2022

K&R 1-7 можно ли решить, используя putchar() вместо printf?
В Интернете есть много вопросов об этом упражнении, но я не смог найти ни одного решения (ни подсказки) о том, как решить это упражнение с помощью «putchar». Write a program to print the value of EOF. Я могу легко получить рабочий ответ на...
365 просмотров
schedule 14.10.2022

KR - визуализировать backspace
Я сталкиваюсь с этим упражнением KR 1-10: Напишите программу, которая копирует ввод в вывод, заменяет каждую табуляцию на \t, каждый символ возврата на \b и каждую обратную косую черту на \\ . Вот очень простое решение: #include...
152 просмотров
schedule 03.01.2023

K&R Error: конфликтующее определение метода
Я прохожу K&R (2-е изд.), чтобы изучить C, так как я пытался получить основу для языков более низкого уровня, чтобы помочь мне в программировании, а также потому, что я хочу знать C. Книга абсолютно фантастическая; однако программа, представленная на...
206 просмотров
schedule 06.03.2023

K&R раздел 8.7 для цикла в free()
В K&R(2nd), раздел 8.7, я думаю, что есть неожиданный бесконечный цикл for в free(), и его тестовая часть кажется неправильной. Я вставил четыре // комментария. У malloc() есть один, у morecore() есть другой, а у free() есть остальные. typedef...
137 просмотров
schedule 03.11.2022