2015-10-04 62 views
0

在C編程中,我不想使用scanf方法來接受整數。 我剛在谷歌搜索我得到更快的方法,然後scanf接受整數使用的代碼,這是張貼在下面,但如何接受無符號long long int使用類似的方法?在不使用scanf的情況下接受整數

接受整數的代碼:例如int n = read_int();

#define gc getchar_unlocked 
int read_int() 
{ 
    char c = gc(); 
    while (c < '0' || c > '9') 
     c = gc(); 
    int ret = 0; 
    while (c >= '0' && c <= '9') 
    { 
     ret = 10 * ret + c - '0'; 
     c = gc(); 
    } 
    return ret; 
} 
+0

仿C庫函數是不** **推薦。使用'scanf'或'fgets' +'atol' /'atoi' /'atoll'。 – Downvoter

+0

@cad這不會模仿任何我知道的c庫函數! –

+1

它返回'int'。 'c'應該是'int'。 – ameyCU

回答

3

用非常簡單的修改

unsigned long long read_ULL_int() 
{ 
    ... 
    unsigned long long ret = 0; 
    ... 
} 
+0

謝謝噸..它的工作.. – jackkds7

相關問題