C++ 声明getch()函数
为什么DevC++编译器要求我声明getch?因为getch不是一个标准函数。因此,不是在stdio.h。在某些平台上,它是在conio.h中定义的。您的编译器正在抱怨,因为在您使用它之前,它没有看到getch的声明 但是如果你想要可移植性,你应该把你的简单程序限制在标准的功能上 stdio.h等价物是getcharC++ 声明getch()函数,c++,c,C++,C,为什么DevC++编译器要求我声明getch?因为getch不是一个标准函数。因此,不是在stdio.h。在某些平台上,它是在conio.h中定义的。您的编译器正在抱怨,因为在您使用它之前,它没有看到getch的声明 但是如果你想要可移植性,你应该把你的简单程序限制在标准的功能上 stdio.h等价物是getchar 我还想补充一点,您的程序不是惯用的。它是用C++编译器编译的。 嗯,这很简单……你正在尝试使用一个函数,但是你没有告诉编译器它的签名是什么。由于getch和getche函数都是在c
我还想补充一点,您的程序不是惯用的。它是用C++编译器编译的。 嗯,这很简单……你正在尝试使用一个函数,但是你没有告诉编译器它的签名是什么。由于getch和getche函数都是在conio.h头中声明的,编译器会抱怨您没有声明函数。简而言之,您需要添加:
#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函数,因为DevC++会在控制台退出之前暂停您的程序。只需包含,您的所有问题都会得到解决。
i、 e.包括@StoryTeller-Unslander是正确的:
getchar函数从键盘读取字符
最好用C++代替C,它选择GECH
< P>如果你在“范围”中没有声明“GECH”这样的问题,那么我回答这个问题 请使用小的c like.c保存文件扩展名 这是正确的方法/add.C/如果这样保存,则会出现错误“getch”未在此范围内声明/代码中的gets函数在哪里?在问这个问题之前,你搜索过getch是什么吗?至少要学习,而不是一些早期的标准。阅读并使用C++ 11兼容编译器,例如最近的编译器,这两个都是编译器。为什么当代码完全是C?@ PeteBecker时,这个标记的C++是因为代码是由C++编译器编译的?C编译器有一个中等的机会,不会抱怨C90模式下工作,但是C++编译器必须抱怨。这是一个边界的情况,代码不好,C空,主要是在C和C++中加上了硬链接或好的C++。标签的选择很混乱;后者要求使用返回键;“格奇没有,好吧。”乔纳坦利弗勒——没错。但是为了暂停程序,OP需要等待用户的任意键。我认为它们是等价的。欢迎来到Stackoverflow!你能详述你的答案吗?这篇文章提供了哪些新内容,而其他答题文章没有?什么?请尽量用直接的句子回答。这是不可读的。
#include <conio.h>