void check_vertical_win(char A[rows][columns]){
int i,j;
char *str1=A[i][j];
char *str2=A[i-1][j];
char *str3=A[i-2][j];
char *str4=A[i-3][j];
int elegxos1;
int elegxos2;
elegxos1=strcmp(str1,str2);
elegxos2=strcmp(str3,str4);
for(j=0;j<6;j++){
for(i=6;i>=3;i--){
if(elegxos1==0 && elegxos2==0){
printf("\nBill is the winner.\n");
}
}
}
}
行列の2つの文字列が等しいかどうかを調べたいので、strcmp関数を使用しています。しかし、コンパイラは警告を出します。初期化は、キャストのない整数からポインタを作成します。 (私はプログラムを実行するとき、それは言う:Windowsは私の問題で解決策をチェックしている)。 私は他の同様のプログラムを見て間違いを見つけようと多くの試みをしましたが、私は見つけられません。strcmpを使用すると、初期化時にキャストのない整数からポインタが生成される
ラインはそれを参照していますか? –
'char * str1 = A [i] [j];' ............もっと見る... –
'char * str1 = A [i] [j];'この行(そして次の3行も)間違っていて、少なくともコンパイラの警告を受けるでしょう。 –