2011-04-17 52 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