1樓:
你這是模板生成的,所以編譯器給你生成了兩個函式,乙個是char版本的,乙個是int版本的,與之對應也生成了兩個static變數,乙個char型別,乙個int型別,所以那個97並沒有加到int型別的裡面去,所以分成了兩份,乙份是int的先加了5後加了10輸出15,乙份char的,就只加了一次是97,所以輸出a。
希望對你有幫助
2樓:匿名使用者
注意你用的是模板函式,乙個型別就會產生乙個函式,他們不是同乙個函式了。
就是t.fun(5);
它傳入的是int型別的,相當於例項化乙個函式void fun(int t);
而你t.fun(char(97));
傳入的是char型別的,就是例項化另乙個函式void fun(char t);
這兩個函式是不一樣的。自然他們中的靜態變數也是不一樣的。
所以它輸出'a';
最後你t.fun(int (i));
它傳入的int型別,它會呼叫
void fun(int t);
所以,就把10加到5上了,所以輸出就是15;
希望對你有幫助。
關於C 的十分簡單的問題,關於C 的乙個十分簡單的問題
typedef是自定義型別.typedef int myint int i 0 成立 myint j 0 成立 樓主的問題在與自定義乙個結構體 typedef struct s 這裡s就是乙個自定義的結構體.你可以用來建立結構體物件s obj 這與自定義乙個類是一樣的 class s s obj 自...
關於C語言的簡單問題
1 表示式結果為1.和 均是賦值運算 a a相當於a a a 賦值運算的順序是自右至左 稱結合性 也就是先a a a還是12 再a a,結果為1 相當於12 12 2 a n 2 相當於a a n n 2 為求餘運算 5 2結果為1.12 1能夠整除,沒有餘數。所以結果為0.3 a a a a。均是...
再問關於C的很簡單的問題,再問乙個關於C的很簡單的問題
n3 c1 n c1 n1 是乙個整體,不等號 有些語言裡表示不等於 是不等於啊 另一 賦值運算子 賦值語句的作用是把某個常量或變數或表示式的值賦值給另乙個變數。符號為 這裡並不是等於的意思,只是賦值,等於用 表示。注意 賦值語句左邊的變數在程式的其他地方必須要宣告。得已賦值的變數我們稱為左值,因為...