Вопросы с тегом «c»

C - это язык программирования общего назначения, используемый для системного программирования (ОС и встраиваемых), библиотек, игр и кроссплатформенности. Этот тег следует использовать с общими вопросами, касающимися языка C, как это определено в стандарте ISO 9899 (последняя версия 9899: 2018, если не указано иное, а также для запросов, специфичных для версии, с c89, c99, c11 и т. Д.). C отличается от C ++ и не должен сочетаться с тэгом C ++ без разумной причины.

6
Изменяемый массив в области видимости файла
Я хочу создать постоянный статический массив, который будет использоваться во всем моем файле реализации Objective-C, похожий на что-то вроде этого на верхнем уровне моего файла ".m": static const int NUM_TYPES = 4; static int types[NUM_TYPES] = { 1, 2, 3, 4 }; Я планирую использовать NUM_TYPESпозже в файле, поэтому я …

7
Стандарт C явно указывает значение истинности как 0 или 1?
Мы знаем, что любые числа, которые не равны 0, рассматриваются как trueв C, поэтому мы можем написать: int a = 16; while (a--) printf("%d\n", a); // prints numbers from 15 to 0 Однако мне было интересно, определены ли true / false как 1/ 0в C, поэтому я попробовал код ниже: …
86 c 


16
Как закодировать оператор по модулю (%) в C / C ++ / Obj-C, который обрабатывает отрицательные числа
Одна из моих любимых ненавистников к языкам, производным от C (как математик), заключается в том, что (-1) % 8 // comes out as -1, and not 7 fmodf(-1,8) // fails similarly Какое лучшее решение? C ++ допускает возможность использования шаблонов и перегрузки операторов, но и то, и другое для меня …


15
Что делает унарный плюс?
Что делает унарный плюс? Есть несколько определений, которые я нашел ( здесь и здесь ), но я до сих пор не знаю, для чего они будут использоваться. Похоже, он ничего не делает, но для этого есть причина, верно?
86 c#  c++  c  unary-operator 

5
Можно ли в C разбить длинный оператор printf на несколько строк?
У меня есть следующее заявление: printf("name: %s\targs: %s\tvalue %d\tarraysize %d\n", sp->name, sp->args, sp->value, sp->arraysize); Я хочу разбить это. Я пробовал следующее, но это не сработало. printf("name: %s\t args: %s\t value %d\t arraysize %d\n", sp->name, sp->args, sp->value, sp->arraysize); Как я могу это разбить?
86 c  printf 

29
«делать… пока» против «пока»
Возможные дубликаты: while vs. Do While Когда мне следует использовать do-while вместо циклов while? Я уже какое-то время занимаюсь программированием (2 года работы + 4,5 года обучения + 1 год до колледжа), и я никогда не использовал цикл do-while, за исключением случаев, когда меня заставляли делать это в курсе Введение …
86 c#  c++  c  while-loop  do-while 

10
Передача массива в качестве аргумента функции в C
Я написал функцию, содержащую массив в качестве аргумента, и вызвал ее, передав значение массива следующим образом. void arraytest(int a[]) { // changed the array a a[0]=a[0]+a[1]; a[1]=a[0]-a[1]; a[0]=a[0]-a[1]; } void main() { int arr[]={1,2}; printf("%d \t %d",arr[0],arr[1]); arraytest(arr); printf("\n After calling fun arr contains: %d\t %d",arr[0],arr[1]); } Я обнаружил, что …

15
rails install pg - не удается найти заголовок libpq-fe.h
$ sudo bundle install Результат Fetching gem metadata from https://rubygems.org/........... Fetching gem metadata from https://rubygems.org/.. Using rake (0.9.2.2) Using i18n (0.6.1) Using multi_json (1.3.6) Using activesupport (3.2.8) Using builder (3.0.4) Using activemodel (3.2.8) Using erubis (2.7.0) Using journey (1.0.4) Using rack (1.4.1) Using rack-cache (1.2) Using rack-test (0.6.2) Using hike …

4
ошибка: неизвестное имя типа 'bool'
Я скачал исходный код и хотел скомпилировать файл сканера. Это вызывает эту ошибку: [meepo@localhost cs143-pp1]$ gcc -o lex.yy.o lex.yy.c -ll In file included from scanner.l:15:0: scanner.h:59:5: error: unknown type name ‘bool’ In file included from scanner.l:16:0: utility.h:64:38: error: unknown type name ‘bool’ utility.h:74:1: error: unknown type name ‘bool’ In file …
86 c  gcc  lex 

3
Двойное приведение к беззнаковому int в Win32 обрезается до 2147483648
Компиляция следующего кода: double getDouble() { double value = 2147483649.0; return value; } int main() { printf("INT_MAX: %u\n", INT_MAX); printf("UINT_MAX: %u\n", UINT_MAX); printf("Double value: %f\n", getDouble()); printf("Direct cast value: %u\n", (unsigned int) getDouble()); double d = getDouble(); printf("Indirect cast value: %u\n", (unsigned int) d); return 0; } Выходы (MSVC x86): …

10
Сверхвысокопроизводительная хеш-карта C / C ++ (таблица, словарь) [закрыто]
Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow. Закрыт 5 лет назад . Уточните этот вопрос Мне нужно сопоставить примитивные ключи (int, возможно, long) для структурирования значений в высокопроизводительной …

5
Понимание INADDR_ANY для программирования сокетов
Я пытаюсь запрограммировать несколько сокетов, поэтому на стороне сервера я использую htonl(INADDR_ANY). Насколько я понял, мне кажется, что эта функция генерирует случайный IP (я прав?). Фактически, я хочу связать свой сокет с моим localhost. Но если я запустил это printf("%d",htonl(INADDR_ANY)); Я получаю 0 как возвращаемое значение. Может кто-нибудь дать объяснение?
86 c  sockets 

3
Структура памяти в C
У меня опыт работы на C #. Я новичок в языке низкого уровня, таком как C. В C # structпамять по умолчанию распределяется компилятором. Компилятор может неявно изменять порядок полей данных или вставлять дополнительные биты между полями. Итак, мне пришлось указать какой-то специальный атрибут, чтобы переопределить это поведение для точного …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.