2016-04-06 14 views
0

私は何をすべきかを決定するために5つの別々の整数の順序を使用するアルゴリズムをプログラムしようとしています。しかし、整数が来る順番を知る必要があります。私はこのサイトでは新しいので、この質問があいまいであるか、与えられた情報が十分でない場合は申し訳ありません。Cで別々の整数の順序を決定する方法は?

{ 
    #include <stdio.h> 

    int main() 
    { 
    int a=1; 
    int b=0; 
    int c=0; 
    int d=1; 
    int e=1; 

    /* Program that determines the order. */ 

    return 0 
    } 

のint aはint型bの前に作成されているあなたが見ることができるように:ここにコードがあります。 b前にb。私は、第1、2ed、ectに来た整数を「呼び出す」ことができるプログラムが必要です。順番通りに。それ、どうやったら出来るの?

+2

をものは 'int型のAR [5]に* *ていない理由は、'? – WhozCraig

+0

それは良いことですが、私が取り組んでいるプログラムで配列を使うことを考えました。私はそれがうまくいかないと思った。これでアレイが動作することがわかりました。 –

+0

"int aはint bより前に作成されます"はそうではありません。ここでシーケンスは必要ありません。コンパイラは自由に任意の順序で5を作成し、同時に実行します。さらに、これらのアドレスはアドレスを持つ必要はありません。 – chux

答えて

1

あなたは使ってint型の住所がを確認する必要があります。

&a; &b... 

をその後、int型の順序は昇順で表示されます。

ポインタのないローカル変数のアドレスについては注意してください。 アドレスはローカル関数でのみ使用できます。他の関数の引数として渡すと、ローカル変数が重複してアドレスが変更されます。

はあなたのint型(コード)の住所が取得:

int addr[5]; 
addr[0] = &a; // if &a == 0 { 
addr[1] = &b; // &b = sizeof(int) * 1 
addr[2] = &c; // &c = sizeof(int) * 2 
addr[3] = &d; // &d = sizeof(int) * 3 
addr[4] = &e; // &e = sizeof(int) * 4 } 
+0

@WhozCraigの答えを見てください。あなたはint [5]を使うべきです。 –

+0

どうすればこれらの整数を印刷できますか? –

+0

#include printf( "%x =%d \ n"、addr [0]); アドレスがint aで10進数値が –

関連する問題