1樓:匿名使用者
for(表示式1;表示式2;表示式3)在表示式2值為真(1)的時候繼續執行。
首先讀入ch[0],ch[0]=='6',ch[i]-'0'是吧字元的數字轉換為int數字,所以s=s*10+6,此時s=6然而,i++之後i==2,此時a[2]=='a',表示式2不成立退出迴圈,於是酒輸出6
2樓:匿名使用者
只執行了一次for迴圈,因為當i+=2的時候ch[i]是為字元'a'的,所以條件不成立。直接是10*0+'6'-'0' == 6。
3樓:匿名使用者
i= 0
chi[0] 是 '6' 滿足 ch[0]>='0' && ch[0]<='9'
執行s=10*s+ch[i]-'0'; 即s=10*0+『6』-『0』=6
s從零變為6
i+=2
i從零變為2
i=2ch[2]是'a' 不符合ch[2]>='0' && ch[2]<='9' 這時for迴圈就結束了
所以printf 輸出是6
4樓:
char 對應的是ascii碼,你帶進去跟著算一下就好了
5樓:匿名使用者
應該是不符合條件退出了,至於什麼原因,暫不清楚
有個關於c語言函式的程式看不懂,求大神詳解
6樓:你在看使用者名稱吧
分析程式:
a=6,b=2;
c=f(a)/f(b);
得 c=f(6)/f(2);
再由函式
int f(int x)
{ int y;
y=x++*x++;
return y;
可得f(6)=6*6=36 //因為是x++,先進行運算,(優先順序的判斷),所以是6*6=36
同理f(2)=2*2=4
所以c=36/4=9
7樓:匿名使用者
y=x++*x++;相當於y=x*x; x++; x++;
則當x=6時,計算得到的y=36
當x=2時,計算得到的y=4
結果必然是9
而x++雖然實際上計算了,但並未影響到y的取值。
8樓:
你要注意++運算子優先順序和*的優先順序
一個c語言程式看不懂,求大神指教
9樓:匿名使用者
12.a=5,a-->5是比較a>5不成立,結果為0,然後a--,a=4。
此時!(a-->5), 為(!(0)),即(1),while迴圈條件成立。
a=4,執行a+=4,a=8.由於後面沒有break,所以還會執行a+=5.a=13.
然後break。
此時a-->5,13>5成立,結果為1,然後a=12.
而(!1)=(0),while迴圈條件不成立。結束迴圈。
輸出a,即12.
10樓:匿名使用者
#include
main()
}printf("%d\n",a);
}a=5,經過while後a=4,從case 5執行a+=5(即a=a+5),所以a=,9.
a=9,不滿足while語句,退出迴圈,
執行輸出,a=9.
11樓:匿名使用者
結果是12
a-->5,按照符號的優先等級表示的是a--大於5,顯然a--是4,所以!(a-->5)為真。執行switch。
switch(a),a現在為4,跳到case 4,a+=4表示a=a+4就是等於8,然後執行case 5:,a+=5等於13.然後break跳出switch。回到while。
!(a-->5)顯然為非真,跳出while,前面執行了a--,所以a最終等於12.
c語言程式看不明白求大神講解裡面的 數怎麼調換的 20
12樓:
t=s[i]; 先把要s[i]放到t
s[i]=s[j]; 再把s[j]放到s[i]s[j]=t; 最後把t也就是s[i]放到s[j]這不就把s[i]和s[j]的值交換了嗎?
c語言,求大神解釋函式裡的引數有點看不懂請解釋
13樓:
函式的參
複數分形式引數和制
實際引數,在函式的定義體中bai的引數du是形式引數,在函式被調zhi用處是實dao際引數。
//函式的定義體
float add(float x,float y)
引數x,y都是形式引數。
//呼叫add函式
c=add(a,b); //引數a,b都是實際引數。
程式從main()函式開始執行,當執行到c=add(a,b);位置時,程式就要跳轉到add()函式體中執行
這時,就有一個傳參的過程,即實參—>形參傳值,亦即a—>x,b—>y。實參變數a,b和形參變數
x,y在記憶體中是屬於不同的儲存單元,當add()函式執行完成後,將函式返回值賦值給主函式main()
中的變數c,而形參x,y的記憶體空間被作業系統**,而實參a,b的記憶體空間直到main()函式執行後記憶體
空間才被系統**。
c語言這個程式的結果是什麼?求大神分析下,實在是看不懂
14樓:左手煙雨
c2[3] 越界
修改如下:
#include
main()
輸出:englishgood
15樓:匿名使用者
輸出結果是:englishgood
16樓:人質
將c2字串加到c1末尾,輸出結果
17樓:丨我是樓上的丨
englishgood
c1[i]='\0',是表示c1結束
求大神講解一下,這個c語言的程式流程。。。 看不懂
18樓:樓主_回頭是岸
int a=3 b=4 c=5 t=99
if(bbai不成立
du不執
zhi行
a=c; //a=5
c=t; // c=99
if(adao出 a=4 b=5 c=99*************************解釋的夠專仔屬細了吧
19樓:漫步輪迴歲月
首先看第copy一個if語句的條件 :b < a不成bai立,所以dut=a不執行。
a=c;c=t;(a為5, c為99)
再看zhi
第二個if語句的條件:daoa < c && b < c成立,所以t=b執行(t為4)
b=a;a=t;(b為5, a為4)
所以:a=4 , b=5, c=99
作為c語言小白,完全看不懂這個程式,誰能給我詳細點解釋一
x的n次方 等於x x x 乘了n次。求c語言大神解釋一下這個程式,我看不懂.100 math代表常用數學函式的標頭檔案 convert方法傳入一個十六進位制的數字的字串,比如 1aec 其中1代表1,abcdef分別代表11,12,13,14,15,16。和十進位制類似,十進位制每16進一位。co...
剛剛接觸C語言,書上的這個看不懂,求詳細解釋,謝謝
我推薦學習c語言bai的書籍是 c primer plus中文版du 開發工具是 vs2008 或者 vs2010如果zhi有條件,可以找一dao個好老師或者好師傅回.我認答為一本好書和 剛接觸正常,多看幾遍就好了 c語言問題。這道題看不懂啊,求大神詳細解釋下,謝謝 這是 統計 字串 中字元個數的。...
一道c程式題目,我看不懂,求高手指點
int8 t代表 復8位帶符號整數,範制圍就bai 是 128 127了,du至於uint8 t的範圍就是0 255了,0xd3 16 13 3 211,然後float型的資料都是zhi用2的多少次方來表示dao的,所以0.45 0.0 11100 迴圈,精度會有問題 int8 t是自己定義的吧?你...