1樓:金色潛鳥
關鍵點是:函式形式引數,引數是指標,函式加工結果會被帶回;引數是普通變數,函式加工結果不會被帶回。
運算過程:
char b='a', a='a'; //宣告 字元變數a,b; a的初值是 字元常量 'a'的值,b的初值是 字元常量 'a'的值.
fun(&b,a); //函式呼叫 執行 函式 void fun(char *c, int d){}
進入函式後 ,執行語句 *c = *c+1; 語句中 *c 是 值,數值增1, 初始為 'a', 增1 後變成 'b';
執行語句d=d+1; 即 d 數值增1, 初始為 'a', 增1 後變成 'b';
函式內輸出當前值 , printf("%c, %c,",*c,d); 輸出 b,b,
函式呼叫時,引數1 是指標char *c ,所以返回值 會更新 成 'b'; 主函式裡的 變數 b 數值更新成 'b'. 引數2 是普通變數,不是指標,所以函式加工的結果,不會被帶回去,主函式裡的 變數a, 數值 依舊 是 'a'。
主函式執行 printf("%c,%c\n",b,a); 輸出 為 b,a
故,答案是 b,b,b,a
2樓:
程式入口時main函式,就是程式開始執行的地方
程式開始,呼叫fun函式,第一個引數傳入一個a字元的地址,而第二個引數傳入的是字母對應的acii碼錶對應的數字。兩者都進行加1,然後拿到這個字母的下一個字母,然後進行一次輸出,所以列印b,b
函式呼叫完畢,然後回到main函式,執行輸出語句,因為第一個引數傳入的是地址,然後再呼叫fun函式時已經變成了下一個地址,所以列印出來時下一個地址的值,但第二個引數回到main函式時並沒有改變,所以還是a
c語言不會,求大神指導,要詳細的解答過程,謝謝了
3樓:匿名使用者
#include
int main()
4樓:匿名使用者
int a=13,b=013,c=-1;[a=13,b=11,c=-1]013是八進位制數轉換成十進位制=1*8+3=11
printf("%d\n",a=a+1,a+b,b+1);相當於a=a+1; printf("%d\n",a,a+b,b+1);[a=14,b=11,c=-1]
由於printf中格式字串只需要一個整型資料輸出,則格式字串後面的第1個表示式的取值被輸出得到輸出14,賦值語句表示式在賦值完成後,被賦值變數的取值是整個表示式的值
printf("%d\n",(a=a+1,a+b,b+1));[a=15,b=11,c=-1]得到輸出12
對於逗號表示式(a=a+1,a+b,b+1)其執行是按照從左到右順序,先給a賦值,然後計算a+b,但結果沒有儲存,最後計算b+1等於12,由於逗號表示式取值是最後一個式子的計算結果,所以提供給printf顯示的資料是12
假設整型是32位的,得到輸出
c=-1,ffffffff,37777777777,4294967295
第1個引數按照有符號整型輸出(%d),得到-1
第2個引數按照十六進位制無符號整型輸出(%x),得到ffffffff,由於二進位制表示-1就是32位全1
第3個引數按照八進位制無符號整型輸出(%o),得到37777777777
第4個引數按照十進位制無符號整型輸出(%u),得到4294967295
5樓:酷哥
前面兩個printf輸出時只管有賦值號的,即a=a+1,則結果為:
1415
c=-1,ffffffff(即八個f),37777777777(3跟十個7),4294967295
x為十六進位制,o為八進位制,u為無符號十進位制
c語言例題 不太懂 求講解
6樓:匿名使用者
211要理解遞迴,首先你要理解遞迴
7樓:匿名使用者
用了遞迴
執行main函式,執行fun(11),進入fun函式,設此點為stack_a點
執行if(x/5 > 0), 11/5 == 2 > 0,條件判斷為真 因此執行 fun(x/5)
進入fun函式,設此點為stack_b點,
執行if(x/5 > 0) ,2/5=0, 條件判斷為假,因此跳過if語句體,執行printf("%d",x);輸出2
返回到stack_a點的,執行if語句之後的語句printf("%d",x);輸出11,
返回main函式,輸出"\n"
因此最後輸出為"211\n"
8樓:可以說你是豬
這裡有一個使用者自定義函式。輸入11後,11除以5大於0,結果被系統強制轉換為2.
因為你函式的形參定義的是int型別。2除以5是小於0的,所以直接輸出2.
之後在main函式裡輸出一個換行符。輸出結果就是2
c語言,不會求解 程式的功能是求 1 1 2 1 3 1 4.1 99 1 100 的值。s4 對sign變數做正 負的轉換。第一次是正的,下一次變為負的,再下次又變為正,以此類推。變數sign代表了各項前的符號。s5 得到各項的值,再變換符號。第一項是初值1,第二項是 1 2,第三項是1 3,第四項是 1 4。以此... c語言經典100題 程式1 題目 有1,2,3,4個數字,能組成多少個互不相同且無重複數字的三位數 都是多少 1.程式分析 可填在百位,十位,個位的數字都是1,2,3,4.組成所有的排列後再去 掉不滿足條件的排列.2.程式源 main 程式2 題目 企業發放的獎金根據利潤提成.利潤 i 低於或等於1... 你這個問題問的真是太好了,簡直是前無古人後無來者。這題有神經病可以答的出來,正常人都無法給你準確的答案,建議你去醫院看看。c語言問題 求答案 聽不清啊 include void confab const char int,int s,char outt else if int i a int i z...c語言求詳細講解例2 ,c語言求詳細講解 例2 4 求。
求c語言題目,求C語言題目
C語言問題求答案,c語言問題 求答案