2011-12-21 67 views
-3

鑑於long long int x, y;,我想要一個函數,它可以比較x & y並返回T/F標誌,這是一個普通的32位int。我想這一點,但它讓我感到困惑長數據類型的算術/邏輯操作

#include <stdio.h> 
int main() { 
long long n,i; 

scanf("%l64d", &n); 
i=42; 

printf("%l64d", n); 
printf("%l64d", i); 
printf("\ni<=n --> %d\n",i<=n); 
return; 

}

+0

Arthimatic?算術?關節炎?你在談論按位還是邏輯操作? '&'是按位 – Anycorn 2011-12-21 06:47:58

+0

@Catcall對不起,我不能把我的代碼,我試過。有些我感到困惑。但我並不懶惰嘗試。 – kannah 2011-12-27 14:06:58

回答

1

也許你正在尋求通過這個(返回true例證/ 1或假/ 0取決於x是否大於(GT)y更大):

int ll_compare_gt(long long x, long long y) 
{ 
    return(x > y); 
} 

重複其他比較...

算術會有更多的問題 - 通常,增加兩個01的結果值太大,無法放入32位int

但是,你的問題在細節上很粗略,這可能是相當寬泛的標誌。你應該更清楚地解釋你真正想要的東西。

+1

沒有提到,如果你只是想比較(不要傳遞函數),你可以寫'x> y'而不必使用函數! – Shahbaz 2011-12-21 09:38:21

+0

@Jonathan,謝謝你的代碼工作。我想了解OS(Linux)的概念移植。謝謝大家 – kannah 2011-12-27 14:12:30