Я только изучаю C, и это мой первый раз на stackoverflow , поэтому я не уверен, правильно ли это задавать этот вопрос, потому что он кажется тривиальным по сравнению с другими здесь, но я нашел этоткод в учебнике, и когда я пытался скомпилировать в Visual Studio, я получаю это:
**error C2040: 'menutext' : 'char *(int)' differs in levels of indirection from 'int ()'**
Если честно, я посмотрел на код, и я не понимаю, почему компилятор жалуется.Мне действительно нужна помощь в этом.Вот код:
/*********************************************************/
/* */
/* MENU : program which prints out a menu */
/* */
/*********************************************************/
main ()
{
int str_number;
for (str_number = 0; str_number < 13; str_number++)
{
printf ("%s",menutext(str_number));
}
}
/*********************************************************/
char *menutext(int n) /* return n-th string ptr */
{
static char *t[] =
{
" -------------------------------------- \n",
" | ++ MENU ++ |\n",
" | ~~~~~~~~~~~~ |\n",
" | (1) Edit Defaults |\n",
" | (2) Print Charge Sheet |\n",
" | (3) Print Log Sheet |\n",
" | (4) Bill Calculator |\n",
" | (q) Quit |\n",
" | |\n",
" | |\n",
" | Please Enter Choice |\n",
" | |\n",
" -------------------------------------- \n"
};
return (t[n]);
}