2010-08-28 35 views
19

我已經完成了一個溫度轉換程序作爲一個任務。該程序有很多printf語句可以打印溫度。現在,負溫度以我想要的方式打印,但正溫度打印時沒有前導符號+在printf中爲正數打印領先'+'

什麼是最好的方式獲得printf打印領先的+正數的符號。所有我能想到的是改變

printf("Min temp = %d\n",max_temp) 

if(max_temp > 0) 
    printf("+"); 
printf("Min temp = %d\n",max_temp) 

但是,這要求在方案:(

另一種選擇是我自己寫的打印功能,並把這個邏輯很多變化there。你有什麼建議?

回答

46

您可以使用+標誌printf打印正數+簽署:

printf("%+d %+d",10,-10); // prints +10 -10 
+7

禮貌方式說RTFM(開玩笑) – Tom 2010-08-28 02:56:01

+1

SO是FM !! – bobobobo 2012-05-04 15:09:54

14

添加+標誌。這是一個例子。

int n; 
printf("%+d", n); 

(假設n是一個int - 只需更換%d爲其他數字類型)