Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

преобразование double в float; double в int; int в float, возможна потеря данных

l.k. Профи (584), на голосовании 9 лет назад
помогите новичку. выдает предупреждения:
преобразование double в float; double в int; int в float, возможна потеря данных
и ошибку: переопределение формального параметра a

#include "stdio.h"
float Sq(int a)
{
double p;
p = 3.14*(a / 2)*(a / 2);
return p;
}

float Sq(int a, int D)
{
double a;
a = D / 1.4;
return a;
}

int main()
{
double a, D, S;
scanf_s("%f", &D);
S = 3.14*(a / 2)*(a / 2);
printf(" Ploshad ravna %f\n", S);
return 0;
}
Голосование за лучший ответ
diablo Мыслитель (7039) 9 лет назад
>>преобразование double в float; double в int; int в float, возможна потеря данных
читай про типы данных и их преобразование
или замени все на double или float
float Sq(int a, int D)
{
double a; //здесь переопределение выше переменная a уже существует
l.k.Профи (584) 9 лет назад
спасибо, с преобразованием все решилось, разобралась наконец)

а с переопределением не совсем. если убрать double a;, то выдает, что использована неинициализированная локальная переменная а в строке S = 3.14*(a / 2)*(a / 2);
diablo Мыслитель (7039) перед тем как использовать переменную a ей нужно присвоить значение
Похожие вопросы