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

функция gettoken - непонятная процедура (K&R)
У меня есть несколько вопросов, поэтому я поставлю числа в комментариях, чтобы было легче найти строку с вопросом. [1] Как можно присвоить char * p переменной токена, которой на самом деле не существует? [2] Почему мы не помещаем здесь '\ 0',...
2373 просмотров
schedule 17.10.2021

Функция инвертирования бит в упражнении K&R 2-7
Упражнение 2-7 из Язык программирования C : Напишите функцию invert(x,p,n) , которая возвращает x с битами n , которые начинаются с позиции p , инвертированными (т. Е. 1 изменен на 0 и наоборот), оставив остальные без изменений. Я...
3273 просмотров

Компиляторы, которым требуется # в первом столбце?
Существовали ли широко используемые компиляторы C до ANSI , которые требовали, чтобы # был в первом столбце? Я согласен с любым компилятором в этом списке . Если я найду упоминание об этом в группе новостей comp.lang.c Usenet в...
134 просмотров
schedule 07.09.2021

Разница между struct S { int align; }; (имя после ключевого слова struct) и struct { int align; } С; (имя после определения структуры)
#include <stdio.h> struct Header { unsigned long long int alignment; }; int main(void) { struct Header header; // note: we can loose the 'struct' in C++ struct Header* pheader = &header; return 0; } Приведенная выше...
101 просмотров
schedule 12.03.2022

Преобразование шестнадцатеричной строковой константы в десятичное значение с использованием C
Следующая программа возвращает результат в виде 0 вместо ожидаемого десятичного эквивалента шестнадцатеричной строковой константы. #include <stdio.h> int my_htoi(char[]); int main(void) { printf("%d", my_htoi("0xABC")); return...
60 просмотров
schedule 17.03.2022

K&R Задание Упражнение 5.17
Кто-нибудь может объяснить, что конкретно нужно сделать в упражнении 5.17, что значит сортировать внутри строки, ее поля?
620 просмотров
schedule 26.03.2022

Как именно типы данных представлены в компьютере?
Я начинающий программист, читающий K&R, и мне кажется, что книга предполагает много предшествующих знаний. Один аспект, который меня смущает, - это фактическое представление или, я бы сказал, существование переменных в памяти. Что именно определяет...
5536 просмотров
schedule 15.04.2022

Почему эта программа не печатает по одному символу за раз?
Я просматривал язык программирования C от K&R и наткнулся на этот фрагмент кода: main() { int c; while ((c=getchar()) != EOF) putchar(c); } Я понимаю, что приведенный выше код не печатает по одному символу за раз сразу после того,...
44 просмотров
schedule 28.05.2022

Где находится само пространство в распределителе памяти, описанном в конце книги K&R?
В самом конце книги Кернигана и Ритчи Язык программирования C описывается распределитель памяти. Это говорит Каждый блок содержит размер, указатель на следующий блок и само пространство. Но я не вижу этого в коде: typedef long...
296 просмотров

Книжное упражнение K&R 4-2
Я изучаю книгу K&R. В настоящее время я нахожусь в главе 4. Я читал функцию atof() на странице 71. Функция atof(s) преобразует строку в ее эквивалент двойной точности с плавающей запятой. Код atof() выглядит следующим образом: //atof:...
164 просмотров
schedule 10.07.2022

Подсчитайте количество пробелов, пробелов и табуляции в C
Я работаю над упражнениями K&R прямо сейчас, и я нахожусь в том, где вы считаете количество пробелов, пробелов и табуляции, используя язык C. Я построил следующий код: #include <stdio.h> #include <stdlib.h> /*Write a program that...
323 просмотров
schedule 10.08.2022

Преобразование типа: signed int в unsigned long в C
В настоящее время я дохожу до главы 2 языка программирования C (K&R) и читаю о побитовых операциях. Вот пример, который вызвал мое любопытство: x = x & ~077 Предполагая 16-битную длину слова и 32-битный тип , я думаю, что 077 сначала...
6335 просмотров

Как смоделировать EOF?
В настоящее время я читаю книгу K&R и печатаю примеры из первого раздела, и есть пара таких примеров: while((c = getchar()) != EOF) { //do something } Я тестирую эти примеры на компьютере с Windows и, таким образом, запускаю...
54210 просмотров
schedule 20.10.2022

внешний внутри функции?
Что ж, читая "немного старую" книгу ("Язык программирования C", второе издание, Деннис Ритчи), я наткнулся на следующее: Внешняя переменная должна быть определена ровно один раз вне какой-либо функции; это отводит для него место для хранения....
6787 просмотров

В примере с самой длинной строкой K&R 1.9, что делает getchar()?
Кажется, теперь я понимаю программу, за исключением того, что функция getline не очень интуитивно понятна, поскольку кажется, что она копирует все, что getchar() возвращает, в массив символов s[] , который никогда не используется для чего-то...
629 просмотров
schedule 23.11.2022

Стандартные библиотеки включены несколько раз в несколько файлов?
В книге K&R (стр. 59) (редактирование: второе издание, охватывающее ANSI C ) предполагается, что большие проекты проще разбивать на несколько файлов. В каждом файле, как обычно, вверху включены несколько библиотек: например. getop.c нуждается в...
4323 просмотров

getchar() с EOF ведет себя не так, как ожидалось
Пробираясь через K&R, я наткнулся на это неожиданное поведение. Рассмотрим следующий код: #include <stdio.h> #define MAXWLEN 10 /* maximum word length */ #define MAXHISTWIDTH 10 /* maximum histogram width */ #define IN...
74 просмотров
schedule 01.11.2022

'\0' оценивает false, \0 оценивает true
Вдохновленный программой, описанной в разделе 5.5 K&R : void strcpy(char *s, char *t) { while(*s++ = *t++); } C программа if ('\0') { printf("\'\\0\' -> true \n"); } else { printf("\'\\0\' -> false\n"); } if ("\0") {...
9008 просмотров
schedule 01.11.2022

Пример 2.1, K&R: неверное значение символической константы для LONG_MIN и LONG_MAX?
Это код, который я использую для поиска значений символических констант для LONG. #include <limits.h> //These header files contains the symbolic constants #include <float.h> //for different datatypes #include...
240 просмотров
schedule 25.07.2023

Упражнение K&R 1.19 (обратная функция)
Вот задача: Напишите функцию reverse(s), которая переворачивает строку символов s . Используйте его, чтобы написать программу, которая переворачивает ввод построчно. Хорошо, теперь мое выступление: #include <stdio.h> #define...
460 просмотров