-
為什麼輸出 4 5 6 7 8 9 9 8 7 6 int a[10] = ; 定義乙個整數陣列並初始化 int *p, *q; 定義兩個整數指標 p = &a[0]; p 指向 a[0]。
q = &a[9];q 指向 A[9]。
for(int i=0;i<4;i++,p++,q--)for(int i=0;i<10;i++) 遍歷輸出陣列 cout
-
*p = *q;
這裡是以後再說的。
a=如果要輸出 4 5 6 7 8 9 9 8 7 6for(int i=0; i<6;i++)
cout
5;i--) cout
-
這個是這樣的:
迴圈中有四個迴圈,分別是給 *p 分配乙個新值,並且有 p++,所以只有 a[0]-a[3] 的四個值改變了值,而後乙個不變,值仍然是 4 5 6 7 8 9
前四個值是這樣的,a[0]=a[9]=9,a[1]=a[8]=8,a[2]=a[7]=7,a[3]=a[6]=6,然後輸出a陣列中的值,結果是9876456789。
-
你好,首先。
int *p, *q;
p = &a[0];
q = &a[9];
宣告了兩個整數指標,分別指向陣列的第乙個元素和最後乙個元素;
for(int i=0;i<4;i++,p++,q--)
在這裡,變數 i 的功能是控制迴圈數,這裡是 4 個迴圈,每個迴圈,指標 p 要向後移動乙個元素,指標 q 向前移動乙個元素,p = *q 表示將 q 的值更改為分配給 p 的元素的值為元素的值。
第乙個迴圈:將 9 分配給元素 0,使序列變為:9、1、2、3、4、5、6、7、8、9;
第二個迴圈:將 8 分配給元素 1,使序列變為:9、8、2、3、4、5、6、7、8、9;
第三個迴圈:將 7 分配給元素 2,使序列變為:9、8、7、3、4、5、6、7、8、9;
第四個迴圈:將 6 分配給元素 3,使序列變為:9、8、7、6、4、5、6、7、8、9;
-
for(int i=0;i<4;i++、p++、q--)初始順序為:0,1,2,3,4,5,6,7,8,9執行程式:將q指標指向的數字分配給p指標指向的數字,然後p++(後移),q--(向前移動)。
我被分配了 4 次,從零到 3。 即:9 賦值 0,8 賦值 1,7 賦值 2,6 賦值 3,所以結果是 9 8 7 6 4 5 6 7 8 9
-
如果要在迴圈中交換,則可以少乙個中間更改。 當前語句的功能是將 a9 a8 a7 a6 分配給 a0 a1 a2 a3,但您沒有將 a0 a1 a2 a3 分配給 a9 a8 a7 a6,因此輸出是第乙個結果。 要實現切換功能,可以單獨設定 int b。
第乙個迴圈中的語句改為 b=*p; *p=*q;*q=b;
-
意思很簡單,就是從 i=0 開始,將 q 指向的元素賦值給 p 指向的元素,i=0 是將 9 賦值為 0,然後 i=1 賦值 8 賦值 1,依此類推。
double fun(double x,double c){double term=1,sum=0;
long d=1; >>>More