2013-10-30 40 views
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; 
} 

我不太同意這個計劃完成,但如果我編譯它,我得到:C編程參數錯誤

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編程。

+0

你缺少一個分號.. –

+0

嘗試在第3行和第4行中的函數聲明之後添加分號。 – John

回答

1

你在你的語句到底需要分號,你需要打印中小寫,以滿足您的功能聲明:

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

這種構建和運行。輸出是:

菜單

  1. 印刷

  2. 退出

0

你在你的語句到底需要分號:

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

你忘了分號你的函數原型的末尾:

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

你解決這個問題之後,您也會遇到錯誤,因爲您使用大寫字母P聲明Printing,但是將其定義爲printing

0

沒有分號後:

void load_menu(void) 
void Printing(void) 

需要:

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

=>爲許多人說你已經錯過了半冒號在函數結尾原型!

=>函數Printingswitch - case 1中用小寫字母'p'調用,printing用小寫字母'p'定義。由於C區分大小寫,因此請確保使用正確的大小寫調用函數名稱。

=>和功能printing不需要有return