1樓:匿名使用者
這個是函式的巢狀呼叫,子函式sub反覆呼叫自己,由程式可知,sub(1)的值為1,當sub(2)=sub(1)+2=1+2,同理sub(3)=sub(2)+3,所以當i=5時,sub(5)=sub(4)+5
=sub(3)+4+5
=sub(2)+3+4+5
=sub(1)+2+3+4+5
所以最後輸出的是15
c語言的幾道題
2樓:
因為。
b.不能;c.位置無所謂;
d不用先定義 定義可以放在程式最後 但在前面程式中加入函式原型即宣告就可以了。.
沒什麼好講的。
因為。c語言編譯時要檢查語法,所以a不對;
c語言沒有過程,只有函式,所以b不對;
c語言函式內不能定義函式,既不能巢狀定義,所以c不對。
一道c語言題目
3樓:匿名使用者
int func(int a,int n);這個函式宣告告訴我們:
1.這個函式返回值是int 型別。
2.這個函式裡面有兩個引數,分別是整型陣列和整型題中定義了int a[10], n, x;三個變數b項:x = func( a, n );函式返回值是int型別 當然要用乙個int型別的變數來接收。
呼叫函式裡面的引數是a 而不是a或a[10],是因為c語言規定,在函式呼叫中 如果引數是陣列型別的,只寫陣列名就可以了。
4樓:匿名使用者
首先只能是函式的值賦給變數,其次,函式引數是陣列時,寫陣列的符號就行。
5樓:匿名使用者
關鍵在於寫陣列呼叫的時候,寫陣列名就行!
一道c語言題目
6樓:豬頭或火寶寶
你好!!!
首先我們來了解幾個知識點:
1.靜態的變數,它的作用域是整個程式。
2.要是要是乙個函式裡有一樣的變數名,那麼就隱藏作用域大的變數,使用作用域小的變數:if(n%2) 使用的是{}內自己定義的變數,而不是static int a=5;
當i=0的時候;呼叫f(i)=f(0),此時的n=0;那麼 if(n%2)
就不執行,執行的是else 語句即,,即t=t+a++,等價於t=t+a,a++,t=7,a=8,此時的變數a的作用域結束,那麼變數a 也就不存在了,那麼返回的是;t+a++;等價於t+a,a++即t+a=7+5=12,a=6;注意此時的變數是static int a=5;
當i=1的時候,執行:if(n%2) 同樣t=t+a++=0+6,返回的是t+a++,此時的a=6,而不是5,因為其次判斷後a++了,所以返回的也是6+6=12
所以:s+=f(i)等價於s=s+f(i)=4+12+12=28
不懂的我們再聯絡!!!
7樓:匿名使用者
樓主!第一點:程式執行的結果是28。
第二:if()中括號的語句要是判斷語句,才能表示判斷。而且如果裡面是乙個表示式,那麼式子的值為1時,就表示真,則執行if下面的語句;如果是值為0,則表示假,則不執行if後面的句子。
你的if(n%2)
else這是個if else語句,當n=0時,必然0%2為0,就相當於if(0),這個0表示假,則不執行if下帶語句,而執行else下帶語句。
同理,若是n=1,則1%2=1,那麼if(1)這裡1表示真,所以執行if下帶語句,而不執行else下帶語句。
樓主就這一點不明白嗎?
這個程式在讀懂的時候,要注意static這個定義形式。估計樓主都動了吧~!嘿嘿!
一道c語言題
8樓:匿名使用者
這題正確答案選擇b,x陣列長度大於y的長度。
原因:字串末尾缺省會儲存乙個'\0'表示字串的結束,所以x實際儲存的是'1', 2', 3', 4', 5', 0',而y陣列中儲存的就是初始化的'1', 2', 3','4', 5',所以x的長度為6大於y的長度為5
一道c語言選擇題
9樓:頻姝泰吉星
什麼叫從左到右呢。
您看看。(a=3*5,a*4,a+5)
這是逗號表示式。從左到右計算,取最後乙個逗號後面的東西為結果。
執行的過程是這樣的:
a=3*5=15,這時候a是15了。a*4,這句只是a*4,得到60,而a的值依然是15,然後a+5,結果是20
就輸出20咯。第二個表示式a*4是有計算的。但是沒有賦值給a呀。所以沒什麼影響。
10樓:瞿芙吾涵蕾
不是位址,錯。
b.++y,y是陣列名,是常量,不能++,x);相當於s=y+5,strcpy(s,x);x長度為9,加上結束符,總長為10位元組,但s指向的是y[5],之後只有y[6]到y[9]這4個位元組可用,因此會造成陣列訪問越界。,x+1);x+1即指向x[1]的指標,之後有8個字元和1個結束符,長度為9位元組,y+1之後正好也有9個可用位元組。正確。
s=y+1;y+1就是y[1]的位址。y+5就是y[5]的位址。
關於c語言的三個的題目,謝謝大家,答案都是c
11樓:匿名使用者
第一題 :d
第二題 :d
第三題 :a
c語言簡單題哦,幾道簡單的C語言題目
樓上的亂講!第一題你答對了。第2,3題全打錯了 我是說的 答案幫你編譯執行過,肯定不會錯。結果 2理由 00 int m 13 01 int fun int x,int y 07 main 00的m是全域性變數,但在函式fun int x,int y 中由於定於了區域性變數 所以,在fun函式中m是...
一道簡單的c語言題目,一道簡單的C語言題目
include class time time hour 0 minute 0 second 0 time const time a int gethour int getminute int getsecond void print time time int main 一道c語言題目 inclu...
一道c語言題目,一道C語言題目
include include 標頭檔案 include 標頭檔案 int main int a 111 b 100 c 111 n,m,k 0,t,l 0,s scanf d d n,m srand unsigned time null srand 就是給rand 提供種子 for int i 0...