Есть ли возможность читать и добавлять два или три разных целых числа, используя одну переменную (int a) на языке C?Добавление двух чисел в c
Я не хочу использовать массиву
Есть ли возможность читать и добавлять два или три разных целых числа, используя одну переменную (int a) на языке C?Добавление двух чисел в c
Я не хочу использовать массиву
No. Каждый раз, когда вы вы atribute новое значение той же переменной заменяет старую. Если вы не хотите использовать массив, и это простой код для добавления чисел, просто объявите три переменные и присвойте каждое значение одному из них.
Я не уверен, что я получаю вас, но, например, если вы хотите добавить 2 16 бит целых чисел с помощью одного 32-битного целого числа, вы могли бы сделать
#include <stdio.h>
#include <stdint.h>
#include <inttypes.h>
int main()
{
uint32_t a;
printf("Enter number 1: ");
scanf("%hd", (uint16_t *)(&a));
printf("Enter number 2: ");
scanf("%hd", ((uint16_t *)(&a))+1);
printf("%X\n", a);
printf("Sum = %"PRIu32"\n", (uint32_t)(*(uint16_t *)(&a)) + *(((uint16_t *)(&a)) + 1));
return 0;
}
Логика думать о том, переменная равна массивам байтов, и все.
Эта реализация все еще есть проблемы, которые хорошо объясняется HERE
Я не знаю, если вы хотите, но еще один способ сделать это будет принимать входные сигналы, как вы удар в калькуляторах, и разобрать в целое прежде чем применять к ним операции.
Что-то вроде этого
#include <stdio.h>
#include <string.h>
int main()
{
char buffer[256];
char * pch;
printf("input your numbers in this format ${number1}+${number2}...: ");
fgets (buffer, 256, stdin);
int sum = 0;
pch = strtok (buffer, "+");
while (pch != NULL)
{
sum += atoi (pch);
pch = strtok (NULL, "+");
}
printf("the sum is %\n", sum);
return 0;
}
так, запустите его и введите 2 + 2 + 2, и это делает для Вас расчет. спасибо
Слишком много переменных в вашем коде! – Olaf
@ Олаф, это не проблема ... проблема заключалась в том, как суммировать наборы входов числа, используя одну переменную int вместо использования массива. –
Вопрос как данный состояние отличается. Если у вас есть больше информации, чем указано здесь, вы должны включить в свой ответ. – Olaf
Это шутка? ... – LPs
Просто используйте две переменные, человек – ForceBru
Нет, о чем я могу думать. –