0

编写一个名为 readRect() 的函数,该函数使用 scanf() 读取定义矩形位置的值。这些值是按 xmin、ymin、xmax、ymax 顺序排列的整数。您的函数应通过引用传递参数以返回这四个整数值。此外,您的功能是返回一个整数,它是成功扫描的值的数量,因此用户可以键入诸如 eod 之类的非数字项来指示没有数据(即,使用返回类型来返回此值)。我不明白我应该如何创建函数 readRect() 以便它通过引用传递参数

int readRect (int w, int x, int y, int z){
     return scanf("%d%d%d%d\n",&w,&x,&y,&z);
}



int main (void){
    int a,b,c,d;
    printf(">>enter two rectangles:\n");
    readRect(a,b,c,d);

    return EXIT_SUCCESS;
}
4

2 回答 2

1

您需要通过地址传递参数,也就是指针。因此,函数头将是:

int readRect ( int * w, int * x, int * y, int * z )

来自的电话main将是

readRect ( &a, &b, &c, &d );
于 2013-10-14T01:10:06.050 回答
1

重写为

int readRect (int *w, int *x, int *y, int *z)  
{
      return scanf("%d%d%d%d",w,x,y,z);  
}  

manin并从as 中 调用它

readRect(&a, &b, &c, &d);

请注意,在 C 中,所有调用都是按值而不是按引用

于 2013-10-14T01:10:19.473 回答