编写一个名为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;
}
答案 0 :(得分:1)
您需要通过地址传递参数,也就是指针。因此,函数头将是:
int readRect ( int * w, int * x, int * y, int * z )
来自main
的来电
readRect ( &a, &b, &c, &d );
答案 1 :(得分:1)
将其重写为
int readRect (int *w, int *x, int *y, int *z)
{
return scanf("%d%d%d%d",w,x,y,z);
}
并将其从manin
称为
readRect(&a, &b, &c, &d);
请注意,在C中,所有来电都是按值而非参考。