Я написал такую программу, которая предполагает возврат строк, содержащих не менее 11 символов и 4 цифры. Я перепутал что-то с типами переменных, я думаю, но я не могу понять, как мне исправить это.Отображение строк с заданным количеством символов
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main()
{
char line[200];
char *temp[200];
int i = 0, k=0;
printf("Enter a string: \n");
while(fgets(line, sizeof(line),stdin))
{
int numberAlpha = 0;
int numberDigit = 0;
int i;
for(i=0; i<strlen(line); i++){
if(isalpha(line[i])) numberAlpha++;
else if(isdigit(line[i])) numberDigit++;
}
if(numberAlpha+numberDigit>10 && numberDigit>3){
temp[i]=line;
i++;
}
}
while(temp[k]!='\0'){
printf("%s", temp[k]);
k++;
}
return 0;
}
Вы не скопировали успешную строку, только указатель. К сожалению, строка, на которую он указывает, перезаписывается на следующей строке. Посмотрите на 'strdup'. –