Когда я пытаюсь сканировать целое число n
и объявляю массив, я не могу получить свой правильный вывод, и когда я его отлаживаю и печатаю элемент массива, я получаю сообщение об ошибке: Не удается выполнить математику указателя на неполных типах, попробуйте выполнить кастинг к известному типу, или void *
.Как сканировать целое число 'n', а затем объявлять массив [1000] [n] в c?
#include <stdio.h>
int main()
{
int n,i=0,j=0,k=0;
scanf("%d",&n);
char string[10000];
scanf("%s",string);
char a[1000][n];
while(isalnum(string[i])!=0)
{
for(j=0;j<n;j++)
{
a[k][j]=string[i];
i++;
}
k++;
}
i=0;
for(j=0;j<n;j++)
{
while(isalnum(a[i][j])!=0)
{
printf("%c",a[i][j]);
i++;
}
}
printf("\n");
return 0;
}
Вместо 'обугливается а [1000] [п];', предложить 'символ * a = malloc (1000 * n * sizeof * a); 'как' char a [1000] [n]; 'вероятно, слишком велико для вашей системы. – chux
На какой строке вы видите ошибку? И, пожалуйста, foprmat ваш код –
Ваша программа отлично работает в моей системе без ошибок .. Где вы можете получить ошибку, можете ли вы упомянуть ..? –