I wrote a program in which I found the area of cylinder using a functionarea with a return-type and without parameters. answerwas returned to main function. However, I am getting different output in main and a different output in area. The decimal places seem to be replaced by 0 in the main function. Why is it so? enter image description here

有帮助吗?

解决方案

Change the return type of area from int to float

其他提示

Your function returns an int which truncates any real part of the value.

float area()

Your variable answer is float in area function but return type of area function is int. so it typed cased during return, in main

int area(){
 ^  should be float

 float answer;

 // print float
 return answer;
}

int main(){
 answer = area(); // answer gets integral part
 // print int part
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top