2016-12-17 21 views
-9

私のコード:私はそれをコンパイルするときなぜcharポインタを使用できないのですか?

 char suit1[5], suit2[5], suit3[5], suit4[5]; 
    char rank1[5], rank2[5], rank3[5], rank4[5]; 
    int i, j; 
    char *cptr1, *cptr2; 
    for (i = 0, j = 0; j < 20; i++, j++, i %= 5){ 
      if (j > 0 && j < 5){ 
        cptr1 = &suit1[i]; 
        cptr2 = &rank1[i]; 
      } 
      if (j > 4 && j < 10){ 
        cptr1 = &suit2[i]; 
        cptr2 = &rank2[i]; 
      } 
      if (j > 9 && j < 15){ 
        cptr1 = &suit3[i]; 
        cptr2 = &rank3[i]; 
      } 
      if (j > 14 && j < 20){ 
        cptr1 = &suit4[i]; 
        cptr2 = &rank4[i]; 
      } 
      if (a[j]>0 && a[j]<14) *cptr1 = 'c'; 
      if (a[j]>13 && a[j]<27) *cptr1 = 'd'; 
      if (a[j]>26 && a[j]<40) *cptr1 ='h'; 
      if (a[j]>39 && a[j]<53) *cptr1 = 's'; 
     } 

それは、セグメンテーションフォールト表示されます。

申し訳ありませんが、 私は自分の質問を編集しました。

この問題を解決する方法を知りたい。

+0

どのようなエラーが表示されますか?あなたがそれを得るとき何をしていますか?実際の質問にコードを含めてテストしてください。 –

+0

ようこそstackoverflow.comへようこそ。 [ヘルプページ](http://stackoverflow.com/help)、特に[ここではどのトピックを聞くことができますか?](http://stackoverflow.com/help/)のセクションを読んでください。 on-topic)と[[どのような種類の質問を避けるべきですか?]](http://stackoverflow.com/help/dont-ask)を参照してください。また、[ツアーを受けてください](http://stackoverflow.com/tour)と[良い質問をする方法を読む](http://stackoverflow.com/help/how-to-ask)もご覧ください。最後に、[最小限の完全で検証可能な例](http://stackoverflow.com/help/mcve)の作成方法を学んでください。 –

+0

人々は怠け者であり、好きに従うことを好まない。また、リンクを壊す。質問を書き直してください。 –

答えて

1

remain機能の3行目に問題があると思います。セミコロンがありません。 int i,j,の代わりにint i,j;にする必要があります。

+0

以前は、問題は2つの画像へのリンクを含んでいました。コードリンクでは、宣言は確かに 'int i、j、'(空白をつけたり空けたりする)という問題でしたが、本当に問題でした。画像の代わりに質問に含まれるコードには、常にセミコロンが表示されています。この回答は与えられたときに有効であったので、それ以降行われた変更に対しては罰せられるべきではありません。 –

関連する問題