2014-02-18 49 views
-1

如何確定像printf global這樣的函數中的「精度說明符」作爲預處理器變量?我嘗試下面的代碼:作爲預處理器變量的精度說明符

#include <stdio.h> 
#include <stdlib.h> 

#define tostring(x) #x 
#define Prc tostring(20) 

,並希望在printf的如下:

FILE *cout; 
cout = fopen("c_out", "w"); 
for(Sn=1;Sn<12;Sn++){ 
    for(In=1;In<519;In++){ 
    for(Epn=1;Epn<11;Epn++){ 
fprintf(cout, "%d %d %d %d %d: %.Prce \n",Tn,Dn,Sn,In,Epn, coeffTopDiaSpIntEp[Tn][Dn][Sn][In][Epn]); 
          } 
         } 
        } 

回答

2

試試這個

"%d %d %d %d %d: %." Prc "e \n" 
+0

遺憾的是它沒有作用,因爲:_error:預期 ')' 之前'Prc'_ – maniA

+0

@maniA你爲什麼寫')'?用'「%d%d%d%d%d:%」替換'「%d%d%d%d%d:%.Prce \ n」'。 Prc「e \ n」'。 – BLUEPIXY

+0

我正好寫道:fprintf(cout,「%d%d%d%d%d%d:%。」Prc「Qe \ n」,Tn,Dn,Sn,In,Epn,coeffTopDiaSpIntEp [Tn] [Dn] [Sn ] [在] [EPN]); – maniA