Я хочу создать статический массив строки в функции, тогда возвращаемое значение этой функции назначит другому массиву строки.Как вернуть массив строки в функцию?
, но кажется, что я не могу выполнить это задание array2 = function();
, но я думаю, что использование char *
для array of string
в порядке? что случилось в моем коде? благодаря
вот мой код
#include <stdio.h>
#include <stdlib.h>
char * function();
int main(){
char * array2[100] = {};
array2 = function();
// print this array of string
int i;
for(i=0;i<strlen(array2);i++){
printf("%s\n",array2[i]);
}
system("pause");
}
char * function(){
static char * array[100] = {};
array[0] = "100";
array[1] = "200";
return array;
}
не уверен, если это является частью проблемы, но вы определили прототип 'funtion' перед тем главным, но в основном, вы обратитесь к' function' – smac89
вы возвращаете статический символ * тип, но ваша функция возвращает тип char * – Tonmoy
As отмеченные другими комментариями, этот код даже не компилируется. Какой компилятор вы используете? Предупреждающие сообщения о компиляторе при создании этого кода? У вас есть предупреждения о компиляторе на максимальном уровне? Сначала вы должны проверить все это - тогда компилятор практически решит эту проблему для вас. –