1樓:匿名使用者
簡單的說:由於你的**是非標準方法訪問變數,導致結果非常不確定,沒有固定答案,不同編譯器結果不一樣。
你這樣是故意記憶體訪問越界來計算麼?為什麼要研究這個呢?因為這樣做非常明顯的違背軟體工程的。
問題是這個答案是沒有標準答案的,因為編譯器會對結構內的記憶體布局稍微做調整,不同編譯器和不同編譯條件導致的布局都不一樣,沒法給你確保arr值得準確性。
所以我建議是至少不要現在研究這個,等你學的深入了對記憶體布局及編譯器優化有深刻了解在研究這個。對於初學者而言,養成良好的程式設計習慣很重要,這種東西還是不對的。
2樓:阿蔥來了
這道題的意思是比較兩個字串每一位所對應的字元是否相等,找到第乙個不相等的字元(在有效字元內),此時 i 為1 執行了s1[1]-s2[1] 算術運算也就是ascll碼進行相加減,ascll表中 i 與 n 的數值相差5 小的減去大的,為負5 且 s 是 int 型別 有符號 所以顯示結果為負5
3樓:童年月夜
因為i的ascii碼減去n的ascii碼就等於-5呀。
4樓:網友
6、 (float)a/b= a%c*c=9*16=144 b/c=0
7、 a=,所以結果是float型 (int)(b/3*(int)(a+c)/4)%6=(int)(7/3*(int)(
3、a=6,執行了加一操作 b=11,執行了減一操作。
c語言問題,求解釋
5樓:匿名使用者
for語句中第1個表示式是初始化用的,第2個是迴圈條件,第3個是迴圈體執行完成後呼叫的。
比如:for ( a;b;c ) d;的呼叫順序是:
a; b是否滿足,滿足開始迴圈: d;
c; b是否滿足,滿足繼續迴圈: d;
c; b是否滿足,不滿足結束迴圈。
因此題目中執行順序就是:e1; 無條件迴圈即while ( 1 ),s; e3; while(1) s; e3; .其中s和e3是重複執行的。
因此對應的選項是b
6樓:網友
職業道德在調節的範圍上適用於。
c語言問題求解析
7樓:心淋鴨湯
1, 首先是把數字4賦值給i , 然後 在括號內依照逗號表示式原則 是等於 最後乙個 也就是i=4
所以選a3. a b答案的「.」不是 c答案的「 '不是。
4. a是表示式錯誤 c是運算錯誤 d是語法 float
5. 如 num 初始為1 i=num++ 則 一輪後 num=1 i=2
如 num 初始為1 i=++num 則 一輪後 num=2 i=2
8. 第4行 scanf函式 有點問題。
9. 我感覺題 是不是 有點錯 該是k<=3吧。
後面是 不可以達到5個字元的。
以上是我的一些理解 不是100%正確哈 你在去不知道的確認下 感覺有打錯的 自己仔細思考下 看書最好 這些基本 書上一般都有的。
8樓:夜盡天明月
第一題,逗號表示式;其實這些都要看書,好好看書吧!
9樓:匿名使用者
其實這就是考試的試卷。
10樓:勤勞的八戒
不上機除錯這些基本問題真不知道。。
c語言問題求解
11樓:
這段**是計算資料 a 前 4 個值的累計和。也就是說,計算出 的和 --14.
C語言問題求解,c語言問題求解
31的平方961,32的平方1024,要找4位數,打算從31找起,認為高兩位不會是0的,最小情況,從32開始算也成。從31的平方開始遞增找這個數,一旦條件適合,就找到這個前二位相同和後二位相同的四位數。較快的搜出乙個不小於k的平方根的第乙個整數,因k 是四位整數,至少1000,平方根是也就是31以下...
c語言問題,求解答,求解答c語言問題
首先執行getchar,就是先讓你輸入乙個字元,然後執行putchar,就是將剛剛的字元輸出,然後判斷字元是不是 是的話退出,否則繼續執行迴圈。迴圈體只有乙個 getchar每接收乙個字元,putchar就進行輸出,當為 時,則!後面若還有字元,按換行鍵後則不會輸出 輸出的字元要從getchar函式...
C語言問題求解,求C語言問題
include include include void rightmoving char s,int n return t int main 昨天剛幫人家寫 哈哈。你也可以試試這個 include void rightmoving char s,int n result 0 0 if result...