Sha*_*mar -1 c pointers function
double volume(double l,double w,double h);
double area(double l,double w,double h);
int main() {
double l,w,h,v,a`;
volume (3.0,1.5,2.0);
area(3.0,1.5,2.0);
printf("The Volume is %lf cubic meters and the area is %lf square meters.\n", v,a);
return 0;
}
double volume(double l,double w,double h) {
double v;
v = l*w*h;
return v;
}
double area(double l,double w,double h) {
double a;
a = (2*l*w) + (2*w*h) + (2*l*h);
return a;
}
Run Code Online (Sandbox Code Playgroud)
体积是2091994552961492532068352.000000立方米,面积是637485042878638687518720.000000平方米.
我目前正在获得上述输出(这显然是错误的,垃圾值),我想知道我哪里出错了.我猜它是一个指针问题.如果你能解释一下我的指针基础知识,我将非常感激.提前致谢.
这根本与指针无关.您甚至不在代码中使用任何指针.
您只是不分配返回值,从而打印未初始化变量的值.
这是固定代码:
int main() {
double v, a;
v = volume(3.0, 1.5, 2.0);
a = area(3.0, 1.5, 2.0);
printf("The Volume is %lf cubic meters and the area is %lf square meters.\n", v, a);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在其他两个函数中也不需要变量 - 只需直接返回结果:
double volume(double l,double w,double h) {
return l*w*h;
}
double area(double l,double w,double h) {
return (2*l*w) + (2*w*h) + (2*l*h);
}
Run Code Online (Sandbox Code Playgroud)