簡體   English   中英

聲明 getch() 函數

[英]Declaring the getch() function

#include<stdio.h>
void main()
{
    char name[20];
    printf("Enter your name : ");
    scanf("%s",&name);
    printf("your name is %s\n",name);
    getch();
}

為什么 DevC++ 編譯器要求我聲明getch()

因為getch不是標准化的函數。 因此,不在stdio.h 在某些平台上,它在conio.h定義。 您的編譯器正在抱怨,因為它在您使用之前沒有看到getch的聲明。

但是如果您想要可移植性,您應該將您的簡單程序限制為標准功能。

stdio.h等效項是getchar

我還想補充一點,您的程序不是慣用的 它更用C ++編譯器編譯。

嗯,這很簡單……你正在嘗試使用一個函數,但你沒有告訴編譯器它的簽名是什么。 由於getch()getche()函數都在conio.h頭文件中聲明,編譯器會抱怨您沒有聲明該函數。 簡而言之,您需要添加:

#include <conio.h>

另一件事是,由於您說您使用的是 DevC++,因此不需要使用getch()函數,因為 DevC++ 會在控制台退出之前暫停您的程序。

只需包含<conio.h>並且您的所有問題都已排序。 #include<conio.h>

如果您遇到類似“getch”未在此范圍內聲明的問題,那么。 我回答了這個問題請用小 c 保存文件擴展名,如 .c eg-add.c /這是正確的方法/ add.C /如果你這樣保存比你得到的錯誤“getch”沒有在這個范圍內聲明/

@StoryTeller- Unslander 是正確的: getchar() 函數從鍵盤讀取字符。

最好與 C++ 一起使用,而不是 C,它選擇了 getch()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM