私は配列を取ることをしようとしています。ユーザーからの整数値/文字列値を含み、配列の長さはわかりません。配列[500]のような、私はそれが貧しいソリューションとプログラミングスキルが劣っていることを知っている..どのように私はこれを改善するのですか?プログラムの実行中に配列のサイズを変更する/サイズを変更する最も良い方法
以下のサンプルコード:
int main(void){
int t=0;
char str[200];
int count[20];
printf("Please enter the number of test cases(between 1 to 20):");
scanf("%d",&t);
for (int i = 1; i<=t;i++)
{
printf("Please enter each of %i test case values:",i);
gets(str);
//set_create(str);
printf("\n");
}
for(int i = 0;i<t;i++)
{
prinf("%i",count[i]);
printf("\n");
}
return 0;
}
上記のコードは確かに間違っている。..コードを改善するためにいくつかの助けが必要...おかげ
編集コード:
int main(void){
int T=0;
int *count;
printf("Please enter the number of test cases(between 1 to 20):");
scanf("%d",&T);
count = malloc(T * sizeof *count);
for (int i = 1; i<=T;i++)
{
printf("Please enter each of %i test case values:",i);
fgets(count);
printf("\n");
}
return 0;
}
動的に配列を割り当てるには、新規と削除を使用するとよいですか? – lakesh
@lakesh C++を使用する場合のみ:-)あなたは 'c'という質問にタグを付け、あなたのコードは本当にc-ishに見えます。明確化のために – cnicutar
ありがとうございます。私は上記の質問に対する答えを編集しました。今はいいですか?任意の訂正? – lakesh