0

scanf() を使用して四角形の位置を定義する値を読み取る readRect() という関数を作成します。値は、xmin、ymin、xmax、ymax の順序の整数です。これらの 4 つの整数値を返すには、関数でパラメーターを参照渡しする必要があります。さらに、関数は正常にスキャンされた値の数である整数を返すため、ユーザーは 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そしてそれを次のよう に呼び出します

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

C では、すべての呼び出しは参照ではなく値によるものであることに注意してください。

于 2013-10-14T01:10:19.473 に答える