gschahal Ответов: 3

Выход для переменной float равен 0.0000


#include<stdio.h>
#include<math.h>
main()
{
	float a,b,c,d;
	printf("Enter the value for a & b\n");
	scanf("%f %f, &a, &b");
	c=a+b;
	d=a*b;
	printf("The sum is %f\n", c);
	printf("the Multiplication is %f\n", d);
	return (0);
}


Что я уже пробовал:

Я попробовал использовать math.h в качестве предварительного процессора. Пожалуйста, посмотрите, что я упускаю из-за того, что выход равен 0.0000 как для суммы, так и для умножения.

3 Ответов

Рейтинг:
21

OriginalGriff

Просто: ваши двойные кавычки находятся в неправильном месте.
Изменить это:

scanf("%f %f, &a, &b");
До настоящего времени:
scanf("%f %f", &a, &b);


Рейтинг:
13

KarstenK

При использовании отладчика вы можете обнаружить следующее жук Он находится в сканфе. Правильно это:

scanf("%f %f", &a, &b);
Прочитайте документация scanf чтобы понять вашу ошибку.


Рейтинг:
1

Afzaal Ahmad Zeeshan

Может быть вы хотите удалить цитаты из программы,

scanf("%f %f, &a, &b");

Сделайте это примерно так,
scanf("%f %f", &a, &b);

Теперь это позволит сохранить значения в переменных и позволит программе вычислить значения дальше вниз и распечатать их также. Кроме того, пожалуйста, следуйте стандартам языка и использования
int main() /* even main(int argc, char** argv) */

Так что теперь программа будет выглядеть примерно так,
#include<stdio.h>
#include<math.h>
int main() // Good approach, otherwise compiler will do it.
{
	float a, b, c, d;
	printf("Enter the value for a & b\n");
	scanf("%f %f", &a, &b); // <-- see here.
	c = a + b;
	d = a * b;
	printf("The sum is %f\n", c);
	printf("the Multiplication is %f\n", d);
	return (0);
}

Результатом работы этой программы является:
1
2
Enter the value for a & b
The sum is 3.000000
the Multiplication is 2.000000

С, это не трудно. :-)