Это простая программа, которая складывает цифры заданного числа.
#include <stdio.h>
#include <conio.h>
void main()
{
float sum = 0, num;
printf("Enter any number\n");
scanf("%f", num);
while(num!=0)
{
sum = sum + (num%10);
num = num/10;
}
printf("Addition of digits of %d is %d", num, sum);
getch();
}
Мне выдает эту ошибку
В функции «основной»: ошибка: недопустимые операнды для двоичного % (имеют «поплавок» и «целое число») idk, почему я пытался понять, но нет ошибки, и он не печатает строку, которую я ввел
Цитата C11
, глава 6.5.5
Операнды оператора
%
должны иметь целочисленный тип.
num
— переменная с плавающей запятой. Возможно, вам придется использовать fmod() вместо этого.
Тем не менее,
scanf("%f", num);
неверно, вам нужно указать адрес float
, а не саму float
переменную. По крайней мере, вам нужно
scanf("%f", &num);
оставляя в стороне проверку успеха и вменяемости.
Я забыл поставить амперсанд при написании кода здесь, спасибо, теперь он работает нормально