Запитання з тегом «c»

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

1
C додавання за допомогою модуля
Я натрапив на інтригуючий код С, який друкується A + B, але у мене проблеми з його розумінням. Вхідний формат: A B де A, B- цілі числа між 0і 10розділені єдиним пробілом. Код: main( n ) { gets( &n ); printf("%d", n % 85 - 43); } Це було призначено …
81 c  addition  mod 

9
strcpy проти memcpy
У чому різниця між memcpy()і strcpy()? Я намагався знайти його за допомогою програми, але обидва видають однакові результати. int main() { char s[5]={'s','a','\0','c','h'}; char p[5]; char t[5]; strcpy(p,s); memcpy(t,s,5); printf("sachin p is [%s], t is [%s]",p,t); return 0; } Вихідні дані sachin p is [sa], t is [sa]
81 c  memcpy  strcpy 

6
Чому один раз автоматично не приймається #pragma?
Який сенс сказати компілятору спеціально включити файл лише один раз? Хіба це не мало б сенсу за замовчуванням? Чи існує якась причина включати один файл кілька разів? Чому б просто не припустити це? Це пов’язано з конкретним обладнанням?
81 c++  c  pragma 

6
Розробка API обгортки C для об’єктно-орієнтованого коду C ++
Я прагну розробити набір API-інтерфейсів C, які будуть обгортати наші існуючі API-інтерфейси C ++ для доступу до нашої основної логіки (написаної на об'єктно-орієнтованій C ++). По суті, це буде API для склеювання, який дозволяє використовувати нашу логіку C ++ іншими мовами. Які хороші підручники, книги чи найкращі практики вводять поняття, …
81 c++  c  wrapper 

9
Як запустити програму C на Mac OS X за допомогою Terminal?
Я новачок у C. Ось моє "Привіт, світе!" програма. #include <stdio.h> int main(void) { printf("Hello, world!\n"); return 0; } Після того, як я спробую запустити його за допомогою терміналу, він говорить: MacBook-Pro-MacBook:~ macbook$ /Users/macbook/Desktop/peng/Untitled1 -bash: /Users/macbook/Desktop/peng/Untitled1: Permission denied MacBook-Pro-MacBook:~ macbook$ Чому?
81 c  macos  bash 

9
Чи можна змінити рядок char в C?
Я кілька годин боровся з усілякими підручниками та книгами, пов’язаними з покажчиками, але що я справді хочу знати, чи можливо змінити вказівник на символ після його створення. Це те, що я спробував: char *a = "This is a string"; char *b = "new string"; a[2] = b[1]; // Causes a …
81 c  string  debugging 

4
Багаторядкові макроси препроцесора
Як створити багаторядковий макрос попереднього процесора? Я знаю, як зробити один рядок: #define sqr(X) (X*X) але мені потрібно щось подібне: #define someMacro(X) class X : public otherClass { int foo; void doFoo(); }; Як я можу змусити це працювати? Це лише приклад, справжній макрос може бути дуже довгим.
81 c++  c  c-preprocessor 

8
Як відобразити індикатор прогресу в чистому C / C ++ (cout / printf)?
Я пишу консольну програму на C ++ для завантаження великого файлу. Я знаю розмір файлу, і я починаю робочу ланцюжок для завантаження. Я хочу показати індикатор прогресу, щоб він виглядав крутішим. Як відображати різні рядки в різний час, але в одному і тому ж положенні, у cout або printf?
81 c++  c  user-interface  c++11  io 

6
Найкращий метод синхронізації в C?
Який найкращий спосіб приурочити розділ коду з високою роздільною здатністю та портативністю? /* Time from here */ ProcessIntenseFunction(); /* to here. */ printf("Time taken %d seconds %d milliseconds", sec, msec); Чи існує стандартна бібліотека, яка має крос-платформне рішення?
80 c  performance  timer  timing 



1
Python: чому * та ** швидші за / та sqrt ()?
Оптимізуючи свій код, я зрозумів наступне: >>> from timeit import Timer as T >>> T(lambda : 1234567890 / 4.0).repeat() [0.22256922721862793, 0.20560789108276367, 0.20530295372009277] >>> from __future__ import division >>> T(lambda : 1234567890 / 4).repeat() [0.14969301223754883, 0.14155197143554688, 0.14141488075256348] >>> T(lambda : 1234567890 * 0.25).repeat() [0.13619112968444824, 0.1281130313873291, 0.12830305099487305] а також: >>> from math …

6
Чому ця версія логічного І на С не відображає поведінку короткого замикання?
Так, це питання домашнього завдання, але я зробив своє дослідження і досить глибоко задумався над цією темою, і не можу цього зрозуміти. Питання стверджує, що цей фрагмент коду НЕ виявляє поведінки короткого замикання, і запитує, чому. Але мені здається, що він демонструє поведінку короткого замикання, тож хтось може пояснити, чому …



Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.