1
私の大学のCで割り当てられた学生データベースを構築中です。 問題を見つけられませんでした。 ここに私のコードです:基本的に2次元配列内の文字列を関数内で比較する
void sortArrays(char names[max_n_students][max_name_student],int counter)
{
int i, j;
if (counter > 1) // means more than 1 course is in the database
{
for (i = 0; i < counter; i++)
{
for (j = 1; j < counter; j++)
{
if (strcmp(names[i], names[j]) > 0) /* problem here? */
{
swapArrays(names[MAX_STUDENTS][MAX_NAME], i, j);
}
}
}
}
}
、私がやろうとしていることは、インデックスによって関数内の2つの文字列を比較することである(文字列の2次元配列)、および戻り値がある場合は> 0それらの名前を置き換えるswap関数を実行します。しかし、私は例外の警告を受け取ります。 問題点を教えていただけますか?
後、私は自分の成績を交換する必要が名を入れ替えるので、私はむしろ、「おそらく
例外の警告は何ですか?あなたの 'j'は' j = i'noで始まるはずですか?もしそうなら、あなたの最初の条件は 'i
LenweSeregon
https://imgur.com/1ELVUhu @LenweSeregon here mate。 –
ああ、ビジュアルスタジオデバッガは分かりませんが、初期化されていない文字列やそのような文字列を比較しようとしているようです。動的割り当てを使用しましたか、 'names'は静的配列ですか? sortArraysを呼び出す関数を表示できますか?そして同時にあなたの名前配列を初期化する場所。 – LenweSeregon