В чем проблема с этим кодом (это правильно печатает arr [0], но я получаю проблемы с arr [1] ... печать некоторых странных символов):
using namespace std;
char ** setName() {
char * arr[2];
for (int i=0;i<2;i++)
arr[i] = (char*)malloc(100);
arr[0] = strdup("Robert");
arr[1] = strdup("Jose");
return arr;
}
int main()
{
char **arr;
arr = setName();
printf("First name is %s\n", arr[0]);
printf("Second name is %s\n", arr[1]);
return 0;
}
Если это важноя запускаю этот код в Windows, используя Visual Studio 8.