int main(){
char k; char **str; int i,j; int num=0;
srand((unsigned)time(NULL));
num = rand()%15+15;
str = (char **)malloc(sizeof(char *)*num);
for(i=0; i<num; i++){
str[i] = (char *)malloc(sizeof(char)*num);
}
for(i=0; i< num; i++){
k= rand()%5+3;
for(j=0; j < k; j++){
str[i][j] = 'A' + rand()%26;
}
str[i][j] = '\0';
printf("%s ", str);
}
for(i=0; i<num; i++){
free(str[i]);
}
free(str);
return 0;
}
제가 작성한 코드들이고 #include 는 제외하고..
여튼 제가 만들고 싶은게 문자를 여러번 돌려서 문자열로 맹글고 싶은데 저런식으로 하면 요상한 문자만 뜨더라구요..
동적 배열로 안하고 str[15][30]={0,} 뭐 이렇게 해서 돌리면 대문자 영어로 제대로 나오긴하는데 배열값이 미리 정해져 있어서
많은양의 랜덤 데이터를 쓸수도 없구.. 무엇보다 같은 문자만 겁나게 찍혀서 그래요..
결론은 랜덤한 길이와 알파벳을 동적으로 할당해서 문자열을 출력하고 싶습니다.
댓글 0