C - это язык программирования общего назначения, используемый для системного программирования (ОС и встраиваемых), библиотек, игр и кроссплатформенности. Этот тег следует использовать с общими вопросами, касающимися языка C, как это определено в стандарте ISO 9899 (последняя версия 9899: 2018, если не указано иное, а также для запросов, специфичных для версии, с c89, c99, c11 и т. Д.). C отличается от C ++ и не должен сочетаться с тэгом C ++ без разумной причины.
У меня такой код:
uint8_t buffer[16];
uint8_t data[16];
uint8_t buffer_length = 16;
uint8_t data_length = 0;
memcpy(buffer + buffer_length, data, data_length);
memcpy должен быть неактивным, поскольку data_length равен нулю. Однако buffer + buffer_length указывает за пределы выделенной памяти. И...
26 Сен 2023 в 07:46
#include <stdio.h>
int main ()
{
int num;
printf ("Enter integer number ");
scanf ("%d", &num);
while (num <= 1)
{
printf ("Enter any integer number(positive) : ");
scanf ("%d", &num);
}
int total;
total = 1;
while (num > 1)
{
total = total * (num);
...
26 Сен 2023 в 03:51
Вчера у меня был экзамен, на котором меня просили написать программу для поиска суммы элементов выше вторичной диагонали (антидиагонали) матрицы на языке C. Я написал программу, в которой было 3 тестовых примера, и моя программа прошла их все, но за эту задачу я получил только половину баллов. Ниж...
26 Сен 2023 в 01:42
Этот код C я использую для вычисления количества значений в файле:
fseek(file, 0, SEEK_END);
size_t inSize = ftell(file);
size_t no_ofelem = inSize/2;
Я преобразовал его для работы в среде Arduino следующим образом:
file.seek(file.size());
inSize = file.position();
no_ofelem = inSize/2;...
26 Сен 2023 в 01:06
Недавно я работал над проектом, который требует, чтобы я соединил ESP32-S3 с отдельным основным компьютером через USB. Основная суть в том, что я хочу, чтобы центральное устройство могло получать простые 2-байтовые пакеты от ESP, и наоборот.
Я просматривал пример кода из esp (в частности, пример по...
Я столкнулся с проблемой в моем коде C, когда мой системный вызов не запускает оператор if. Мой код пытается определить, загружен ли LKSCTP или нет.
Когда LKSCTP не загружен в ядро, «/sbin/lsmod | grep sctp | wc -l» вернет 0. В этом случае программа должна завершиться с двумя строками вывода.
Если ...
Может кто-нибудь помочь мне с объяснением, как понять ! оператор в вызовах функций в C?
Например, bool misspelled = !check(word);
Функция check() в этом случае должна возвращать логическое значение. То же самое и с ! здесь имеется в виду, что с ошибкой будет присвоено значение, противоположное ...
У меня есть код, и мне нужно изменить 0x3B9ACA02432543 на какое-то значение, которое сделает результат этого кода равным результату cksum.
Я попытался изменить его на значение по умолчанию cksum, равное 0x04C11DB7, но значения результатов были другими.
#include <stdio.h>
#include <stdlib.h>
int mai...
1
Выделение массива с использованием цикла for для инициализации заданного любого выделенного размера.
int *p_numbers;
p_numbers = malloc((sizeof *p_numbers) * 10);
if (p_numbers == NULL)
exit(EXIT_FAILURE);
for (int i = 0; i < sizeof(p_numbers) / sizeof(*p_numbers); i++) {
printf("-> %p\n\n", p_numbers);
p_numbers[i] = 0;
}
Ищем операцию, которая бы опре...
25 Сен 2023 в 19:41
char arr[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
char var;
// Asking input from user
for (int l = 0; l < 3; l++)
{
for (int k = 1; k < 3; k++)
{
if (k % 2 != 0)
{
var = get_int("Enter position for x: ");
...
Я работаю над связным списком на языке C в качестве своего первого задания на языке C и столкнулся с препятствием. Мне бы хотелось, чтобы еще одна пара глаз помогла мне определить, что я сделал не так.
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
struct Node
{
char *data;
struct ...
25 Сен 2023 в 19:01
Я знаю, что увеличение указателя malloc может привести к неопределенному поведению. но что, если я создам "фрагмент" области памяти? Что-то вроде этого:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
char *s = (char*)malloc(256);
strcpy(s, "Hello");
printf("...
25 Сен 2023 в 18:04
Я хочу использовать библиотеку журналирования C++ в смешанном приложении C/C++. Устаревшее приложение полно журналов в стиле printf. Новая библиотека также поддерживает это.
Файлы C компилируются с помощью компилятора C, поэтому я не могу включить в них заголовки журналирования C++.
Я пытаюсь созд...
25 Сен 2023 в 17:45
#include <stdio.h>
int main()
{
int userInput;
int total;
total = 1;
printf("enter userInput \n");
scanf("%d" , &userInput);
if (userInput <= 1) {
printf("validation");
}
else {
while(userInput > 1)
{
total = total * (use...
Я создаю функцию журнала, имеющую функцию, подобную printf: log(LOG_LEVEL lvl, const char* fmt, ...).
LOG_LEVEL — это просто перечисление (0 имеет решающее значение, более высокие значения менее важны).
Если lvl больше, чем другая переменная (скажем, current_log_level), я хочу сделать как можно мень...
25 Сен 2023 в 12:11
Я учусь работать с сокетами C и создал для них очень простые клиентские и серверные программы.
Клиентская программа
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h> // contains the type definitions related to sockets
#include <sys/socket.h> // contains the socket API
...
Моя статическая библиотека c libmylib.a содержит общие имена файлов, такие как array.o и linkedlist.o.
Если у пользователя, использующего мою библиотеку, есть файлы с одинаковыми именами (array.c и linkedlist.c), возникнут ли у них ошибки компиляции? Будет ли то же самое справедливо и для общих биб...
25 Сен 2023 в 06:38
Я пытаюсь написать функцию, которая будет добавлять число к имени файла, если этот файл уже существует до того, как я создам новый файл. Это для передачи файлов между клиентом и сервером.
Например, если клиент отправляет имя файла «Example.txt», но на сервере уже есть файл с именем «Example.txt», я...
Это простой процесс, который я написал, чтобы попытаться решить проблему с другим кодом. Может ли кто-нибудь сказать мне, почему операторы if по умолчанию имеют значение true? Я читал что-то о том, что scanf требует пробела перед переменной, но я это сделал.
#include <stdio.h>
#include <stdlib.h>
...
25 Сен 2023 в 04:06
У меня есть код:
#include <stdio.h>
int main() {
float num = 3.4;
unsigned int* bits = (unsigned int*)#
for (int i = sizeof(float) * 8 - 1; i >= 0; i--) {
unsigned int bit = (*bits >> i) & 1;
printf("%u", bit);
}
return 0;
}
Я хочу получить представление о...
25 Сен 2023 в 04:01
В настоящее время я разрабатываю версию GLIBC для NASM x64, и у меня возникла проблема с ее тестированием. Код ASM сначала компилируется в .so, затем мой тестовый код (на языке C) компилируется через GCC, затем я загружаю свою общую библиотеку через LD_PRELOAD и выполняю свой двоичный файл.
Вот моя...
Мой профессор поручил нам создать историю, используя введенную пользователем личную информацию и функции srand() и rand().
Это код, который я написал. Я ожидал, что история будет записана и %s будут заполнены, вместо этого некоторые из них представляют собой несколько строковых типов без пробелов, ...
Насколько большой должна быть строка, выделенная в стеке, чтобы хранить любые числа с плавающей запятой/двойные числа в формате %g?
int main()
{
float f;
double d;
char f_str[ ?? ];
char d_str[ ?? ];
sprintf(f_str, "%g", f);
sprintf(d_str, "%lg", d);
}
Редактирова...
24 Сен 2023 в 22:31
Я написал алгоритм Луна на языке C. Я получаю правильные результаты проверки типа карты. Как и в Amex, функции Mastercard и Visa работают корректно. Но я не получаю результата для алгоритма Луна. В частности, для функции check_sum в следующем коде. В чем здесь может быть проблема?
#include <cs50...
Рассмотрим следующий код C
#include <stdio.h>
int main() {
int arr[] = {10, 20, 30, 40};
int *ptr = arr; // ptr points to the internal pointer variable of `arr`, that is, the address of its first array element, 10.
printf("The address of the first int array element is : ...
24 Сен 2023 в 18:35