После того, как эта часть программы прокомпиллировалась, переменные x1, y1, z1 становятся равны нулю
там в конце строка printf(..., a1, x1) выводит "0.000000, 0.000000"
перед этой частью я только объявил переменные
printf("triangle1: \n");
scanf(" %s %lf %lf %lf",&words1, &a1, &b1, &c1);
это условие выполняется
код:
// 1st triangle
if (strcmp (words1, exType1)==0) {
type1 = 1;
if((a1 >= b1 + c1 || b1 >= a1 + c1 || c1 >= a1 + b1) || ((a1 = 0) || (b1 = 0) || (c1 = 0))){
printf("incorrect entry\n");
return 0;
} else
x1 = a1;
y1 = b1;
z1 = c1;
// here
printf("%lf, %lf\n", a1, x1);
Ответы (1 шт):
Автор решения: Vladimir
→ Ссылка
Вы же сами присвоили нули своим переменным: ((a1 = 0) || (b1 = 0) || (c1 = 0)). В языке Си для сравнения на равенство используется ==.