C とこのサイトは初めてです。関数内の配列の配列で名前をランダムに選択しようとしています。次に、そのランダムな名前を main に戻し、そこで使用できるようにします。
#include <stdio.h>
#include <time.h> // For rand function
int random_number(int, int);
char * random_name(char *);
int main(void)
{
char * main_pointer;
printf("\nIn main:\nmain_pointer = %s\n", main_pointer);
return 0;
}
char * random_name(char * MAIN_POINTER)
{
int x = random_number(0,7);
char random[7][5] =
{"0Sam", "1Sam", "3Sam", "4Sam", "5Sam", "6Sam", "7Sam"};
MAIN_POINTER = &random[x][0];
printf("In the function:\nrandom = %s\nMAIN_POINTER = %s\n", (&random[x][0]), MAIN_POINTER);
return MAIN_POINTER;
}
int random_number(int min, int max)
{
int roll;
int maximum = max - min;
srand(time(NULL));
roll = (rand() % maximum) + min;
return roll;
}
サンプルラン:
In the function:
random = 0Sam
MAIN_POINTER = 0Sam
In main:
main_pointer = Ø'Þ¿¦¼i·
ご覧の通りゴミになります。