1樓:喻鵬程
我終於看懂了,第一時間來講給你聽
如果你聽懂了,給我加30分哦
螺旋首先加的是行,加完行再加列,然後減行,最後減列,如此迴圈if裡判斷的是看行列有沒有越界,當然越界還有另一種,即是a[row][col]!=0一開始沒有賦值的元素自動給的0,現在不是0就是說已經到界限了
然後是if裡面的執行問題了,因為我們判斷的是越界,最後一個行和列已經越界,自減。再者就是dir_i自加一,就是進入下一個迴圈(就是我們自定義的陣列),當然還要判斷我們定義的陣列有木有過界。在if裡面最後一個行和列的加,我也不怎麼會表達,就是本來的已經有值了,你加了之後上去賦值。
最後輸出就是浮雲了
2樓:匿名使用者
#include
void main()
,i,j,row,col,dir_i,n;
struct directory
dir[4]=,,,};//這裡定義結構體並宣告dirprintf("enter n:");
scanf("%d",&n);
for(i=1,dir_i=0,row=col=0;i<=n*n;i++)
}printf("array a is :\n");
for(i=0;i }這個程式沿著螺旋方向依次進行的, (0,0)(0,1)(0,2)(0,3) (1,0)(1,1)(1,2)(1,3) (2,0)(2,1)(2,2)(2,3) (3,0)(3,1)(3,2)(3,3) 從(0,0)(1,0)(2,0)(3,0)順序變化,到達(3.0)時點已經溢位,所以進行if判斷 c語言:請高手幫我解釋一下這個程式!! 3樓:匿名使用者 首先你定義抄了一個函 襲數fun,有一個指向int型的指標p 在那個函式中你列印p[5] 你傳入了一個a[3] 這樣在fun函式裡,將&a[3]當成了陣列的首地址,p[5]就代表了p+5 而a[3]在fun裡是被當做p,那麼p+5就到了a[8]那麼就是9 4樓:匿名使用者 void fun(int *p) main() ;fun(&a[3]); //將 a 陣列中第3個元素的地址(也就是4的地址)傳給fun} 5樓:我是不是師兄 你可以把下標表示轉換為指標表示 就清晰了 void fun(int *p) 指標p後移5個單位 然後取值用於輸 內出指標p的位置是在fun(&a[3]); 也就容是 陣列a的第4個元素 從第4個元素開後移5個單位 a[3] a[4] a[5] a[6] a[7] a[8] 起點 +1 +2 +3 +4 +5輸出a[8] a[8]就是9 6樓:陳卓means祥林 a[3]就相當於a中的第4個元素p[5]就相當於a[3]向後推5個元素,也就是a[8],你可以搜尋一下陣列與指標詳細瞭解一下 7樓:匿名使用者 從main函式開始bai,先是定義一個陣列a,接著du呼叫fun函式,zhifun函式的形dao參是一個指標變數。調內用fun函式時將 容a[3]的地址傳給p,而在printf中可以將p[5]解釋為 *(p+5) ,這時p中存放的是a[3]的地址,(p+5)就是當前地址的偏移量,所以是a[8],所以就是9 c語言課程設計,求高手幫我解釋一下這個**啊,打上註釋!再給個流程圖。給150分啊 這個程式寫的不對吧?前面應該是 include include 包含標頭檔案,調入c語言函式庫 後面主函式是 main 主函式main 主函式結束 詳解 程式的功能是從鍵盤輸入一個數x,求x的正弦值,然後輸出結果。在main 之前的兩行稱為預處理命令 詳見後面 預處理命令還有其它幾種,這裡的incl... signed和unsigned 對於這三種型別來說作用都是一樣的signed 是有符號型別 也就是說最高位作為符號位unsigned 是無符號型別 最高位不作為符號位例如 8位 int 他的表示範圍 是 128 127unsigned char 的表示範圍就是 0 255一共都能表示 256 個數字... while str str ch str 這句的作用是指標迴圈後移,當str指向的內容不為 0 而且str!ch為真的時候,指標往後指一位。你的問題是 那怎麼能找出不同的那個字母呢?這個迴圈並不查詢不同的那個字母,而是通過迴圈,查詢每一位字母,看有沒有和ch相同的,ch為你的輸入。你的輸入有兩種 一...C語言的問題?誰能解釋一下,C語言問題,這個程式看不明白,誰能解釋一下 謝謝
關於C語言的問題,求高手幫我詳細解釋一下下列這句話
大俠們幫我解釋一下這個C語言源程式