谁能告诉我 谁会

来源:百度知道 编辑:UC知道 时间:2024/09/22 07:42:43
#include<stdio.h>
void sub(double x,double *y,double *z)
{ *y=*y-1.0; *z=*z+x;}
main()
{double a=2.5 ,b=9.0 ,*pa,*pb;
pa=&a; pb=&b;
sub(b-a, pa ,pa); printf("%f\n",a);
}
输出:?????

请给我讲详细点 而且要最好是分步来讲 的 还有按知识点来 和面要广 系谢谢 明白了还有追加 。
是 指针呢 谁能帮我讲讲指针吧

*y=*y-1.0; *z=*z+x 这地方应该有写错了 应该直接是 y=y-1.0;z=z+x
void sub是一个返回为空的函数,所以不管怎么调用参数,最后都没有返回值.所以最后让输入的a 应该还是 2.5

另外我忘了C中的地址是否可以直接计算了,如果可以计算,题目就没有错 *y=*y-1.0; *z=*z+x 这个就表示的是地址间的加减法了.但是最后答案还是是2.5,因为sub是一个空函数

你这是C语言指针吧?
提问题还是说清楚是什么方面的问题比较好,不然谁知道你问啥?
"谁能告诉我 谁会"这样的问题只有我这种无聊的人才会进来看看了.

另,你这个问题的答案是1.5吗?我不太确定,很久没接触C了,或者还是2.5.