#c
#c
Вопрос:
Я вызываю функцию menu_display1(amp;table,rows,amp;opt);
в моем файле, и определение этой функции приведено ниже.. Здесь таблица представляет собой результирующий набор, содержащий id, name и cols = 30
int menu_display1( resultset *table,int cols,char *opt[])
{
char *menu_list[table->rows 1];
int i;
if(table->rows > 0 amp;amp; strcmp(table->recordset[0][0], "") != 0)
{
for(i=0; i<(table->rows); i )
{
menu_list[i] = table->recordset[i][1];
}
lk_dispclr();
*opt=scroll_menu1(menu_list,i);
printf("The selected category name is %s",*opt);
// if(*opt==CANCEL)
// return CANCEL;
}
return SUCCESS;//# define SUCCESS 1
}
мне нужно записать значение из opt, и мне нужно его распечатать..
printf("The option value is %s n",opt);
Но я получаю значения мусора в opt
..Я не знаю, как обрабатывать значение opt…
Комментарии:
1. Итак, по сути, вы просите кого-нибудь выполнить отладку
printf("%s",scroll_menu1(menu_list,i));
, но вы не предоставили исходный кодscroll_menu1
. Как мы должны это выяснить? Я предлагаю упростить вашу программу до минимально возможной программы, которая демонстрирует проблему, а затем опубликовать все это целиком.2. @Davi….. это код функции scrol_menu…
3. Нет, это код для
menu_display1
Ответ №1:
Это потому, что opt
это массив строк. Чтобы разыменовать его, вам нужно использовать *opt
или opt[0]
.
Комментарии:
1. @Nahtan Fellman Да, я тоже пробовал * opt … но снова получаю значения мусора…..