-
char *str="\ame\\\101ddress\b\xaf";
printf("%d",strlen(str));輸出為 15
解釋如下:1)轉義字元,代表反斜槓字元''\",即 1 個字元。
2) 名稱 - 4.
3)與(1)相同,1個字元。
4) 101 - 由於 DDD,它表示 1 到 3 個八進位數,1 個字元。
5) 位址 — 6 件。
6) b—轉義字元,表示退格鍵 (BS),將當前位置移動到上一列,1 個字元。
7) xaf - 因為 xhh,它表示由 1 到 2 位十六進製數字表示的任何字元,1 個字元。
所有加起來:1+4+1+1+6+1+1=15。
-
19 個計數'\0',、b 等是轉義字元。
-
使用坐標差和三角形的半徑,兩個直角邊的平方和等於第三條邊的平方(半徑平方)。 這是判斷的標準。 外圓大於半徑的平方。
但這個問題的關鍵測試是在不增加括號的情況下 if 的範圍。 最後乙個 else 只匹配前乙個 if,而不是第乙個 if,但同時兩者不能同時為真。
所以[3]必須有乙個else,所以以下如果....else 在此 else 之下。
#include
void main()
-
問題1:稍微繞一圈,房東仔細看了看!
while(++i) 表示當表示式“++i”的值不為 0 時執行迴圈。
首先理解++i是表示式“++i”加1,然後是i,然後是1,也就是說,在while的第乙個判斷中,判斷語句“++i”等於-4,然後i的值也加1變成-4,然後s=0+(-4)。
以此類推,當“++i”的值為 0 時,s+=i 將不再執行。 在此之前,不難推斷出 i 到 -1 的值。 所以 s 最終是 (-4) +3) +2) +1) = -10;
那麼為什麼我最終是 0?
原來,最終的執行判斷“++i”步驟還是需要執行的,既然執行了,就必須將i的值加到1,即0,但是迴圈中的語句就不再執行了。 (這裡需要好好看一下while語句的基本執行步驟,(while語句的最後一步是判斷語句),非常重要的基本知識)。
問題 2:房東需要理解 C 語言中的定義陳述。
#define s(r) pi*r*r
Pi*R*R 不帶括號使用,使用需要特別注意(我個人覺得這是 C 語言的乙個缺陷)。
先去吃飯,回來繼續回答,希望房東採納我的回答!
-
0,-10
9********************=++i 為先自增量後參與操作,當自增量達到 0 時結束操作。
我自增5次:-4 -3 -2 -1 0(此時不會進入迴圈)。
對應的 s: -4 -7 -9 -10********************=巨集只會被剛性拖動替換,不會自動引數化。
s(s1+s2) s(r) pi*r*rpi*s1+s2*s1+s2
經過乙個強力轉彎後,它變為 9
-
23 k++;因為這一段是S1中下標J的字元和S2中下標K的字元的對比,所以當下乙個字元等於下乙個字元時,J++就不見了,K也會被移到下乙個位置。
24 strcpy(&s1[i],s3);
25 strcat(s1,temp);
26 k==1
-
10 假定機器字長為 8 位。
問題 1:7 的二進位格式是 0000 0111
最終結果是 1
問題 2:10 的二進位格式是 0000 1010
最終結果為 0
if(x > 0)
y = 1;
else if(x == 0)
y = 0;
elsey = 01;
或者 y = (x>0?1:(x==0?0:-1));
第一空格:串聯電路的電流在任何地方都是相等的:i 3 r1=第二空格:r2電壓為:,電源電壓:3+2 5v,第三個空格:4+6 10歐姆。 >>>More