-1
int g1,g2,g3,g4;
scanf("%d %d %d %d", &g1, &g2, &g3, &g4);
g[0] = g1;
g[1] = g2;
g[2] = g3;
g[4] = g4;

なんらかの理由で g[4] は登録されていません。何が問題なのか正確にはわかりません。誰か意見がありますか?

4

3 に答える 3

3

g[3] = g4の代わりに設定するつもりだったと思いますg[4] = g4。配列のサイズが 4 の場合、最後の要素はインデックス3になります。

于 2012-10-08T15:31:34.850 に答える
1

配列 "g" が宣言され、サイズが 5 であることを確認してください。これにより、配列インデックス 0、1、2、3、および 4 でアクセスできるメモリが割り当てられます。以下のコードによると、g[3] は使用されません。しかし、メモリを割り当てました。

整数配列を使用していると仮定すると、以下は正常に機能する構文です。

    int g[5];
    int g1,g2,g3,g4l;
    scanf("%d %d %d %d", &g1, &g2, &g3, &g4);
    g[0] = g1;
    g[1] = g2;
    g[2] = g3;
    g[4] = g4;

ありがとう

于 2012-10-08T15:26:12.077 に答える
0
#include<stdio.h>
main(){
int g1,g2,g3,g4,g[4];
        scanf("%d %d %d %d", &g1, &g2, &g3, &g4);
        g[0] = g1;
        g[1] = g2;
        g[2] = g3;
        g[3] = g4;
printf("%d\t%d\t%d\t%d",g[0],g[1],g[2],g[3]);
return 0;
        }
于 2012-10-08T16:51:31.130 に答える