イムは「ポインタでなければなりませんそれを修正するには? CRTは、アプリケーションが文字列へのポインタ配列と、この問題が</p> <p>が起こっ作る
char x[50];
int num = 0;
int i = 0;
char* arrs;
printf("Enter number");
scanf("%d", &num);
arrs = (char*)malloc(sizeof(char) * num);
getchar();
for (i = 0; i < num; i++)
{
printf("Enter str number %d\n" , i);
fgets(x, 50, stdin);
*(arrs+i) = (char)malloc(sizeof(char) * strlen(x));
strcpy((arrs+ i), x);
}
ヒープバッファの終わりの後にメモリに書き込まないでください。 –
* imは文字列へのポインタ配列を作成し、この問題が発生しました* 'char * arrs;'これはポインタ配列ではありません。それはポインタです。 – wildplasser
本当に、このエラーは、あなたが** mallocの戻り値をキャストしていないと明らかです(http://stackoverflow.com/questions/605845/do-i-cast-the-result -of-malloc)。 –