-
這個答案是由提問者選擇的,並不代表知道它的人的意見。
W8G8H 初級。
12月21日09:33 該計畫的主要思想是:
按位求和的特徵是參與操作。
兩個數字中每個數字的二進位相位相和。 只有當對應的兩個二進位數字為1時,結果數字為1,否則為0。
也就是說,按位和運算有三個物件,分別是運算中涉及的兩個數字和運算的結果。 這和小學學的普通加法是一樣的。 如:
a+b=c,,a,b,c 分別是 3 個物件。 同樣,它與算術的意思相同:a & b = c
只是加法的意義和加法的意義不同。
根據問題的要求,我們得到了乙個資料來參與運算,這個資料是要轉換的,現在我們需要得到轉換後的數字,根據運算規則,我們構造乙個數字,對要轉換的數字進行運算和計算,得到每個位的值, 0 或 1。
程式如下:包括<
int main(void)
const int itimes=sizeof(int) *8;
int imask=1;
int x = 12345;這是要轉換的數字。
int x2[itimes];
int i;
for( i=0 ; i=0 ; i--
printf("%d",x2[i] ?1 : 0 );
return 0;
-
函式引數使用指標型別傳遞。
-
在C語言中,乙個函式只能返回乙個值,要返回兩個值,你可以改變你的想法,用其他方式去做。
1 建立乙個陣列並返回乙個指標。
當兩個要返回的值型別相同時,可以建立乙個陣列來儲存陣列中要返回的值,並返回陣列的第乙個位址,這樣就可以達到返回兩個值的效果。
a) 使用靜態區域性變數來儲存和返回位址;
b) 使用全域性變數儲存,返回位址;
c)在函式中動態分配記憶體並返回請求的位址,此方法需要注意,使用後需要釋放;
d) 在引數中傳入陣列位址並返回。也就是說,返回的實際上是音調函式中變數的位址。
2 建立乙個結構並返回結構變數。
將需要返回的值寫成結構體,並返回結構變數,使乙個返回值可以包含多組資料。
3 當資料較小時,可以通過將小規模資料合併為大規模資料來返回。
例如,如果需要返回兩個 char 資料,則可以返回乙個短資料並單獨儲存每個值。
除了上述方法外,您還可以通過傳遞函式引數或全域性變數的值,將返回值傳遞回撥函式,而無需使用返回值。
-
return 只能同時返回乙個值,如果要返回多個值,可以將變數定義為靜態變數,這樣在定義變數時,就給它分配記憶體空間,當函式生命週期結束時,變數的值仍然存在,其他函式也可以使用它的值。 也可以使用指標變數作為函式的引數,通過改變指標的內容來達到改變變數值的目的。 這兩種方法等效於返回多個值。
-
函式不能直接返回兩個值,但可以通過陣列、列表、鍊表等返回多個值。 例如。 inta
f(),這個函式返回乙個整數陣列,如果要返回兩個值,可以定義陣列的長度為2,a[0]儲存第乙個值,a[1]儲存第二個值。
-
使用傳入指標引數生成返回值。
示例:矩陣行和列轉換,其中 b[m][n] 等效於函式返回的陣列。
#include ""
#define m 3
#define n 2
void swap(int a[m][n],int b[n][m])void main()
swap(a,b);
for(i=0;iprintf("");
for(i=0;iprintf("");
-
在傳遞給函式的變數中返回。 返回值應返回執行狀態,而不是執行後執行的結果。 這是乙個常見的誤解......
-
可以使用陣列引數、全域性變數或方法作為指標,將方法用於引用。
-
在另乙個函式中呼叫該函式。 這樣,得到函式的返回值,實現轉移。
示例:int sum(int m,int n)void main()。
在此示例中,main函式呼叫output語句中的sum函式,獲取sum函式的返回值並輸出。
-
使用乙個變數來“記住”函式的返回值,然後在另乙個函式中使用它(使變數全域性),或將其用作引數。
例如,最大值為三個數字是必需的。
int max(long a,long b)..long a,b,c,maxnum;
maxnum=max(max(a,b),c);
或長 a、b、c、maxnum;
maxnum=max(a,b);
maxnum=max(maxnum,c);
-
你是這樣的嗎。
#include
int f1(int x)
int f2(int x)
int main()
我真的不明白你的意思。
-
您可以在 f2() 函式中呼叫 fi() 函式。
-
呼叫。 我太膚淺了,學不了,見諒!
-
這是什麼問題?
-
它可以以函式引數的形式傳遞,也可以以全域性和靜態變數的形式傳遞。 臨時變數是禁忌。
-
1.設定全域性變數,兩個函式是通用的。
2.某個函式使用引用型別引數來傳遞引數內容。
-
方法一:設定全域性變數,這樣在引數中更改全域性變數在引數中也會有效。 因此,您可以在表單引數中更改多個全域性變數的值,因此在引數中,它等效於返回多個值。
方法二:如果陣列名稱用作表單引數,則在返回引數時更改陣列內容(例如排序或加減法)仍然有效。 這也將返回一組值。
使用結構來封裝不同型別的資料,或者使用陣列來表示相同型別的資料,然後返回結構指標或陣列名稱,本質上是使用指標返回多個引數。
方法四:如果你已經學會了C++,可以參考引數。
-
傳入指標引數。
例如 int fun(int * p1, int * p2);
呼叫時,int a, b;
fun(&a, &b);
如果在 fun 中更改 p1 和 p2 指標對應的變數,則 a 和 b 的值將發生變化。
-
將此值作為引數傳遞給另乙個函式。
-
1.在多個檔案之間,一般複製
單個引數很少通過,那個引數。
交叉口太大不易移植,志
最好在檔案之間盡可能獨立。
2、資料傳輸一般通過功能介面實現。 也就是說,當你在另乙個C檔案中使用某個函式時,可以包含它的標頭檔案,然後直接呼叫它的介面函式,這樣目的就達到了,這種實現的好處是易於移植。
定義變數時,它只是等於函式的返回值。
1. 在C語言中,定義變數和給變數賦值稱為初始化。
2. 初始化形式為:
type var_name = init_value;
其中 type 是變數型別,var name 是變數名稱,init value 是初始值。
3. 如果要使用函式返回值作為初始化,那麼只需在 init 值區域編寫函式呼叫即可。 示例**,例如:
#include #include int main()
-
為這 5 個函式新增乙個引數,例如 void output(int a, int n);
將 n 定義為全域性變數。