1樓:super豔豔
大致的功能是將a的內容反向輸出,4,3,2,1. 難理解的是static int t = 3; 這個變數只初始化一次,因為是靜態變數所以資料在堆區,當fun結束後不會被釋放,下次繼續可以使用這個變數,且值是上次使用後的,當j=0時,t=3,*y=x[3];當j=1時,t=2,*y=x[2];以此類推,當然fun的傳參不夠安全,很容易陣列越界
2樓:找自己_做自己
t, 只能在void fun中使用,,先執行
void main() 在執行void fun(int*x,int*y );跳轉到定義。執行void fun(int*x.int*y)裡面的,在執行 int a=,j,x=0; 接下來執行for(j=0;j<4;j++) j=5時不執行。
3樓:匿名使用者
核心問題是 static int t=3;儲存在靜態資料區的變數會在程式剛開始執行時就完成初始化,也是唯一的一次初始化,main函式中迴圈呼叫4次fum函式,第一次呼叫把a[3]賦給x並輸出,因為t--,第二次把a[2]賦給x並輸出……
一道c語言指標問題,求大神解答。萬分感謝。
4樓:匿名使用者
#include
int main(int argc, char const *argv)
,,};// 初始
化二維陣列
int i,(*p)[4]=a,*q=a[0];//定義變數i//陣列指標p 初始化為二維陣列首位址
//一級指標q 初始化為二維陣列首元素位址for ( i = 0; i < 3; i++)//for迴圈,迴圈3次
for ( i = 0; i < 3; ++i)return 0;}
5樓:馮小氣氣
如果最後printf是printf("%d ",a[i][i])的話就可以這樣解釋:
1.二維陣列實際是3個一維陣列的結合a[0]= a[1]= a[2]=
2.(*p)[4]: *p指向的是a[0],*(p+1)指向的是a[1],*(p+2)指向的是a[2]
3.*q實際指向也是a[0][0]
4.第乙個迴圈體中只有i==0時才有對陣列元素的操作,表示式實際為(*p)[0 + 0 /2] = (*q)+1,即是(*p)[0]=(*q)+1,也就是a[0][0]=a[0][0]+1,即a[0][0]=1+1=2
5.輸出的時候是第i行第i列元素,也就是a[0][0] a[1][1] a[2][2]
6樓:匿名使用者
第二,是否能產生安全感,來自多方面的因素,有主觀的和客觀的。這裡我們就主要談談
主觀方面。要讓對方產生安全感,首先要做的就是讓對方相信自己。讓對方相信自己這是一件不容易的事,你必須在言談舉止方面能夠體現出來,比如:
說話要算數,說得到做得到,做不到就不要亂承諾;經常給她說說心裡話,說說你的想法,經常問候和關心一下她的生活;無論多忙都不要不理她,經常給她一些驚喜;不要再對其它女孩太好,言談和行動上都一樣;願意為他改掉你的不良習慣。
7樓:匿名使用者
你的return四遍完全就是沒有任何用的,你已經定義了全域性變數了,不用return。問題在於你雖然敲擊了回車,但那並不會被輸入。所以你while迴圈可能會一直迴圈下去,直到碰巧碰到乙個字元等於'\n'
#include
int l,n,b,o;
int count(char a)
}int main()
;printf("請輸入一句話:");
scanf("%s",str);
count(str);
printf("字母:%d\n數字:%d\n空格:%d\n其他字元:%d\n",l,n,b,o);
return 0;
8樓:匿名使用者
很多事都不是絕對的,不同的人有不同的做法。
9樓:匿名使用者
題目抄的都有問題……最後的 j 是從石頭縫裡蹦出來的?
10樓:韓稚生
1.二維陣列實際是3個一維陣列的結合a[0]= a[1]= a[2]=
2.(*p)[4]: *p指向的是a[0],*(p+1)指向的是a[1],*(p+2)指向的是a[2]
3.*q實際指向也是a[0][0]
4.第乙個迴圈體中只有i==0時才有對陣列元素的操作,表示式實際為(*p)[0 + 0 /2] = (*q)+1,即是(*p)[0]=(*q)+1,也就是a[0][0]=a[0][0]+1,即a[0][0]=1+1=2
5.輸出的時候是第i行第i列元素,也就是a[0][0] a[1][1] a[2][2]
一道c語言題,求解答,萬分感謝
11樓:谷歌地
小夥子這個題不用仔細分析
那麼一大段迴圈就是唬人的
就相當於一
個人出題問你版1 * 2 * 3 * 5 一直乘,乘到1000,然權後乘以0,等於多少一樣
都是唬人的
很明顯,這個陣列搞來搞去就是把陣列a的最後乙個元素變成指標陣列的最後一項唄
那就找找陣列a的最後一項,還有p的最後一項,或者pp的最後一項
看下答案
選項a,看起來很像是正確答案,但陣列下標從0開始,最大下標是11,所以a錯
b,很明顯是這個指標陣列的最後一項,那就是12唄
cd不要看了
當然你要深究,那麼,這個指標陣列長度是3,最後一項是p[2]存放a[8]的位址
然後p[2][3] = a[8 + 3]
12樓:威封凜凜
int a[12]=, 陣列a包含12個元素,為1到12*p[3], 指標陣列
**p,i; 指向指標的指標和變數i
for(i=0;i<3;i)應該為for(i=0;i<3;++i) 迴圈
p[i]=&a[i*4]; 意思是p[i]的值為a[i*4]的地版址,這裡權p[i]是指標
也就是p[0]指向a[0]位址
p[1]指向a[4]位址
p[2]指向a[8]位址
pp=p;pp指向指標陣列p的位址 pp是指向指標的指標,p是指標陣列,所以p也是指向指標的指標,可以pp=p
我覺得解釋到這裡差不多了,我相信你可以的
13樓:匿名使用者
int*p[3];定義來
指標陣列
自p,它由3個指向整型資料的指標元素組成,也就是說p[0],p[1],p[2]均是指標。
p[2]=&a[8]
p[2][3]=*(p[2]+3)
*(p[2]+3)=a[11]=12
請教高手乙個c語言的問題!萬分感謝!
14樓:匿名使用者
#include
int main()
if(b!=0)
if(b==0&&c!=0) //乙個等號=是賦值符號,兩個等號==才是邏輯判斷是否相等
return 0;
}測試通過,錯誤已經在**中以注釋的方式給出.
15樓:匿名使用者
你的程式有不少錯誤, 應該仔細分析一下, 下面可以參考一下#include
int main()
else
if(b!=0)
//if(b=0&&c!=0)
if(b==0&&c!=0) // 注意==與=的區別,==關係運算子判斷是否相等,=是賦值運算子,要區分開哦
return 0;}
16樓:匿名使用者
=是賦值號,==才是邏輯判斷用的
問一道C語言的問題。請高手解答,一道C語言的簡單問題求高手解答,求字串中不同字母個數
首先while k 這裡,括號 來里的是自 k的返回值,在k的前 bai面是先k減掉 du1再返回結果,因此執行zhi到這裡k為4,括號中的值為dao4,大於0應該是true,所以需要執行迴圈裡的內容。下面是printf這個函式,首先要先計算出printf的引數的值,也就是k 3的值,那麼這個表示式...
一道高一歷史選擇題(請進!請詳細說明!謝謝!)
滄州7月1日 c 因為我國奴隸制社會裡 禮樂制度很典型 並且當時的統治也是權利與地位 是強權的象徵。還有從題目本身解釋,也是祭祀和征討的意思。一道高一數學題 請進!請詳細說明!謝謝! 箭衡 解 抄tan 2x bai 6 2k 2 3 2x 2k 17 12k 6 k 3 所以k 2 6 tan 2...
一道高一數學題(請進!請詳細說明!謝謝!)
f x cos x 2cos x 2 cos x cosx 1 cosx 1 2 5 4 以 0,2 區間為例,在 0,3 區間上,cosx 從 1 遞減到 1 2,cosx 1 2 從 1 4 遞減到0 在 3,區間上,cosx 從1 2 遞減到 1,cosx 1 2 從0遞增到 9 4 在 5 ...