请指出下面这段程序中的错误

来源:百度知道 编辑:UC知道 时间:2024/05/08 19:00:22
请指出下面这段程序中的错误
int foobar(int *pi)
{
*pi = 1024;
return *pi;
}
int main()
{
int *pi2 = 0;
int ival = foobar(pi2);
return 0;
}

int foobar(int *pi)
{
*pi = 1024;
return *pi;
}
int main() //一般都用 void main()
{
int *pi2 = 0; //错误.不能给指针赋值常数,否则它会指向未知单元或地址乱操作
int ival = foobar(pi2);
return 0; //不需要返回
}

//--------这样写吧-----------------------------
int foobar(int *pi)
{
*pi = 1024; //pi指向的单元赋值1024.
return *pi;
}

void main()
{

int pi2 = 0;
int ival = foobar(&pi2); //把变量pi2的地址作为参数传给函数
//运算符'&',是取地址操作
//这时候pi2的值是1024了.
}