2011-04-17 54 views
0
#include <stdio.h> 
#include <conio.h> 

int main(void) 
{ 
    int num1; 
    int num2; 
    printf("Enter 2 numbers:\n"); 

    scanf("%d", &num1); 
    scanf("%d", &num2); 

    if (num1 == num2){ 
     printf("Equal");  
    } 
    getchar(); 
    getchar(); 
} 

本教程有这样的:#include <conio.h>原因一个#include

我尝试了不#include <conio.h>和工作正常...

可是他为什么把它? here is this tutorial.

+0

你知道'#include'的意思和它通常用于什么吗? – 2011-04-17 15:52:44

回答

3

因为在教程中它是getch()而不是getchar()

getch()conio.h中声明,而getchar()stdio.h中声明。

+0

看起来它没有包括auto ..i puted,因为我在教程中看到它。但后来我没有这样做,因为在你好的世界里没有conio,工作也一样...所以我想知道 – Codexx 2011-04-17 15:47:09

+0

@Mat,问题在我的文章后编辑....现在你可以看到我的新回答.... – 2011-04-17 15:47:54

+0

@Codexx,看看我的新答案.... – 2011-04-17 15:48:14

2

conio.h是一个非标准头文件,它附带了许多用于MS-DOS的旧C编译器。在您发布的代码中没有必要,因为没有任何代码需要其定义。如果包含它会产生错误,那是因为conio.h在您的系统上不可用。如果您正在使用的引用是引用特定于DOS的头文件,您可能需要查阅更新的教程。

编辑:ouch,只是看了链接教程。 2009年?有人在的教程中包含conio.h作为样板C代码?这是多么残酷的世界。

+1

大概是盗取了* ... For Dummies * book的代码。他们因此类犯罪而闻名。 – 2011-04-17 15:52:00

+0

ok求解........ – Codexx 2011-04-17 15:55:08

1

您使用的所有函数都是在stdio.h中定义的,它似乎并不使用conio.h中的任何内容,因此在这种情况下使用它无效。

0

它的工作原理是因为代码中使用的所有功能 - scanf, printf, getchar - 在stdio.h中声明。

+0

scanf不在conio man:S – Codexx 2011-04-17 15:53:24

+0

请看这里:http://en.wikipedia.org/wiki/Conio.h – yasouser 2011-04-17 18:11:57