私は自分のプログラムに問題を抱えていましたが、私はその理由を理解していません。 私は2つのデータ文字列を読み込み、プログラムは最初の読み込みをスキップし、2番目の読み込みでジャンプします。かなり大きいと私は誰にも例it.For時間の読み取りと理解を無駄にしたいとは思わないので、私はここにプログラムを配置することはできません。2データ文字列を読む
struct agenda {
char nume[20];
char prenume[20];
} vector[50];
void adaugare(){
printf("x=");
gets_s(vector[0].nume);
printf("y=");
gets_s(vector[0].prenume);
}
そして、私が構築し、それを実行したときに、それが唯一の読み込み編集:
struct agenda {
char nume[20];
char prenume[20];
}vector[50];
void adaugare();
void main() {
adaugare();
_getch();
}
void adaugare() {
int numar;
system("cls");
printf("\n\tCate contacte doriti sa adaugati? ");
scanf_s("%d", &numar);
for (int i = 0; i < numar; i++) {
printf("\nIntroduceti contactul %d\n", i);
printf("\tIntroduceti numele contactului %d: ", i);
gets_s(vector[i].nume);
printf("\tIntroduceti prenumele contactului %d: ", i);
gets_s(vector[i].prenume);
}
}
この場合、ビルドして実行すると、2番目の文字列だけが読み込まれます。
これはプログラムの最初の入力ルーチンではないと思います... –
[ask]を参照し、コードの関連する**部分を[mcve]に減らしてください。私たちは完全にコンテキストからコードを助けることはできません。 –
'gets_s'呼び出しにバッファーサイズの2番目のパラメーターを入れてはいけませんか? –