燃气热水器如何使用:编程求助

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/07 03:52:50
#include <iostream>

using namespace std;

int foobar( int *pi )
{
*pi = 1024;
return *pi;
}

int main()
{
int *pi2 = 0;
int ival = foobar(pi2);
return 0;
}

请问此程序错在哪里,如何改进,谢谢!
为什么×pi = 0 错 而 ×pi = 2的引用是对的呢?

int *pi2 = 0; 你这语句,说明pi2指向空,当参数传过去,当然出错.
我试着这样修改:不知道是否表达你的意思

#include <iostream>
using namespace std;

void foobar( int *pi )
{
*pi = 1024;
//return *pi;
}
int main()
{ int i=0;
int *pi2=&i;
//int *pi2 = 0;
//int ival = foobar(pi2);
foobar(pi2);
cout<<*pi2<<endl;
return 0;
}

C语言的指针类型声明晕到了不少人啊。