前提・実現したいこと
配列をシャッフルしたいです。
発生している問題・エラーメッセージ
下記のようなコードを書くと要素内に同じ数が出てきてしまいます。なぜこのようになるか解説していただけると有り難いです。
該当のソースコード
c
1#define swap(type, x, y) do { type t = x; x = y; y = t; } while (0) 2 3int main( void ) 4{ 5 int a[8]={1,2,3,4,5,6,7,8}; 6 int i,j; 7 srand(time(NULL)); 8 for(i=7;i>=1;i--){ 9 swap(int,a[i],a[rand()%(i+1)]); 10 } 11 for(j=0;j<8;j++){ 12 printf("%d",a[j]); 13 } 14 return 0; 15}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。