1
 #include <stdio.h>
 #include <stdlib.h>

 void load_menu(void)
 void Printing(void)

 int main(int argc, char** argv)
 {
  load_menu();
  return 0;
 }

 void load_menu(void)
 {
    int choice;

    do
    {
    printf("Menu\n\n");
    printf("\t1.Printing \n");
    printf("\t2. Exit \n");
    scanf_s("%d", &choice);

    switch (choice)
    {
    case 1: printing();
        break;
    case 2: printf("Exiting. \n");
        system("PAUSE");
        exit(0);

    }


   } while (choice != 2);



}

 void printing(void)
 {
  printf(". \n");
  return;
 }

我还没有完全完成这个程序,但是如果我编译它,我会得到:

Error   1   error C2085: 'Print' : not in formal parameter list 
Error   2   error C2143: syntax error : missing ';' before 'type'    
Error   3   error C2085: 'main' : not in formal parameter list  
Error   4   error C2143: syntax error : missing ';' before '{'          
Warning 5   warning C4098: 'load_menu' : 'void' function returning a value  
Error   6   error C2084: function 'void load_menu(void)' already has a body 
Warning 7   warning C4013: 'printing' undefined; assuming extern returning int  
Error   8   error C2371: 'printing' : redefinition; different basic types   

我在这里做什么?打扰一下。大约几周前,我开始用 C 编程。

4

5 回答 5

1

您忘记在函数原型的末尾加上分号:

void load_menu(void);
void Printing(void);

修复此问题后,您还会遇到错误,因为您Printing使用大写 P 声明,但定义它并调用为 as printing

于 2013-10-30T03:48:02.727 回答
1

您需要在语句末尾使用分号,并且需要 Print 为小写,以匹配您的函数声明:

void load_menu(void);
void printing(void);

这将构建并运行。输出是:

菜单

  1. 印刷

  2. 出口

于 2013-10-30T04:05:04.607 回答
0

=> 正如许多人所说,您错过了函数原型末尾的分号!

=> 函数用小写“p”Printing调用,switch - case 1printing用小写“p”定义。由于 C 区分大小写,请确保以正确的大小写调用函数名称。

=> 并且在函数中printing不需要有return.

于 2013-10-30T04:51:24.070 回答
0

您需要在语句末尾使用分号:

void load_menu(void);
void Printing(void);
于 2013-10-30T03:47:54.317 回答
0

后面没有分号:

void load_menu(void)
void Printing(void)

需要:

void load_menu(void);
void Printing(void);
于 2013-10-30T03:48:14.010 回答