1樓:
c[s[i]]++就是c[s[i]]加1。s[i]是小於5的數,作為c的乙個下標。
自增運算子 ++ 使運算元的值加1,其運算元必須為可變左值(可簡單地理解為變數)。
問題在於:++ 可以置於運算元前面,也可以放在後面,如:
++i;
i++ ;
++i表示,i自增1後再參與其它運算;而i++ 則是i參與運算後,i的值再自增1。
告訴你自增自減的規律吧:
x++, x--, ++x, --x,這個你應當把它看成是乙個表示式,所以看到這如下:
y = x++或 y=++x,這是把這個自增或自減的表示式的值賦給y,而這些表示式的值是這樣的:
表示式 表示式取值 表示式計算完後x的取值
x++ ....... x ........... x+1
x-- ....... x .............. x-1
++x ....... x+1 .............. x+1
--x ....... x-1 .............. x-1
2樓:匿名使用者
這是自增運算~~~ 比如說:a++ 的效果等於 a=a+1
你的程式是在想給程式迴圈賦值並輸出(挺廢話的)我想你因該知道
3樓:匿名使用者
c[s[i]]++ 相當於 c[s[i]] = c[s[i]] + 1
c語言乙個最最基礎的問題——include的用法。
4樓:念菡車森
#include
void
main()
printf("1到100的所有偶數和為%d\n",s);
}希望能幫到你,不懂的地方追問
5樓:匿名使用者
首先你要弄清楚#include<>和#include" "的區別就可以了,第乙個是自動把系統的標頭檔案鏈結進去,第二個是把你自己寫的標頭檔案連線進去.
6樓:匿名使用者
1、c語言預處理器指令#include用於在編譯期間把制定檔案的內容包含進當前檔案中,又稱檔案包含指令。
在原始檔中,任何形如
#include "檔名"
或#include 《檔名》
的行都被替換為由檔名指定的檔案的內容。如果檔名用引號引起來,則在原始檔所在位置查詢該檔案;如果在該位置沒有找到檔案,或者如果檔名是用<>括起來的,則將根據相應的規則查詢該檔案,這個規則同具體的實現有關。
2、被包含的檔案本身也可以包含#include指令。如果某個被包含檔案的內容發生了變化,那麼所有依賴於該包含檔案的原始檔都必須重新編譯。
7樓:萬楊
main.c
#include
//#include "myprint.h"
void myprint()
裡面有了myprint()函式了,當然可以編譯過了。
你試試改成:
main.c
#include
//#include "myprint.h"
myprint()//這樣應該會出錯的!
/*void myprint()*/
8樓:匿名使用者
#include //stdio.h 就是乙個標頭檔案
乙個c語言基礎知識問題
9樓:
#include//加上這行!
#include
void main() //加上void比較好。
10樓:
這裡傳入的事b陣列的乙個首位址。希望我的回答對你有幫助
11樓:匿名使用者
int b="\x34\034";
改為string b="\x34\034";
關於c語言的基礎問題
12樓:三天打魚
?:是三元運算 條件?成立返回這個:
不成立返回這個x大於10條件不成立所以返回x -10 結果是0w++||z++ 或運算 由於前面的w不為0 所以直接返回結果1 而後面的z++不執行 z值不變
!w>z w取反大於z !的優先順序高 所以先取反w w不等於0 所以取反結果是0 而0不大於z所以返回0
w&&z w與z是不是都不是0 w=4 z=7 條件成立 返回1結果是 0 1 0 1
上機測試結果
你那題目是錯的…………
13樓:匿名使用者
主要是考察對於各種運算符號以及運算優先順序別的知識掌握;
優先級別:
先算術運算,然後
最高:!
>、>=、<、<=
==、!=
&&最低:||
第乙個printf語句中
x>10?x+100:x-10
這是乙個?運算,其一般格式為
表示式1?表示式2:表示式3
其運算規則如下:
表示式1是乙個邏輯表示式,如果表示式1結果為真,就以表示式2的結果為最終結果;如果表示式1結果為假,就以表示式3的結果為最終結果。
本題:x>10 為假,因為x的賦值為10;所以結果為: x-10 = 10-10=0
第二個printf語句中
++是加1運算,而||是邏輯或運算
w++||++ ==> 4||8,邏輯運算先把非零值轉換成true,0值轉換成false
所以 4||8 ==> true||true ==> true 再把true轉換成1,所以輸出結果為:1
第三個printf語句中
!是邏輯運算的非運算,>是關係運算,這裡先做!運算,!3==>!true==>false==>0
所以!w>z ==> !3>7 ==> !true>7 ==> false>7 ==> 0>7 ==> false ==> 0
c語言裡面,在進行邏輯運算的時候,把非0值看作true,把0看作false,反之在輸出的時候true輸出1,false輸出0。
所以輸出結果為:0
第四個printf語句中
w&&z,其中&&是邏輯與運算
w&&z ==> 3&&7 ==> true&&true ==> true ==> 1
所以輸出:1
14樓:小卒丶蹴
w =3,z=7,x=10
printf("%d\n", x>10?x+100:x-10);
判斷x>10是否為真,結果是為假,輸出冒號後的值:x-10 = 10 -10 =0
printf("%d\n",w++||z++);
w++ || z++ = 3++ || 7++ = 4 || 8 = 1 ,4 || 8兩個非零數相或輸出 1
printf("%d\n",!w>z);
!w>z = !3 > 7 = 0 > 7 = 0, 先進行!運算,在判斷大小,輸出:0
printf("%d\n",w&&z);
w && z = 3 && 7, 兩個非零數相與 輸出: 1答案: c
網頁鏈結
關於C語言問題,關於C語言的問題
迴圈3次 5成立,結果 x 1,y 4,z 2。5成立,結果 x 2,y 3,z 1。5成立,結果 x 3,y 2,z 0。5失敗且不再執行 右側的 x,退出迴圈。所以最後結果是x 3 y 2 z 1,b正確。關於c語言的問題 巨集定義與賦值不同,而是字串的帶入,因此參與計算時要特別注意計算的優先順...
關於C語言的,關於C語言
看了下你的程式,並親自執行了一下,是沒有錯誤的,正常輸出的結果如下圖 所以對於你的 而言,可以得出一下分析結果 1 在語法 和 邏輯上都是正常的,可以正常執行並列印出結果。2 我猜測,你的這道題應該是針對 static 的練習。static定義的變數,在程式啟動時被建立,直到程式終止才被殺死,在整個...
關於C語言左移右移的問題,關於C語言左移右移的問題
hbyte later hbyte 8 這裡並沒有使hbyte成為0!而是hbyte later 0 0100 1010 這是4a的二進位制 1000 0000 這是80的二進位制 4a左移8位 0100 1010 0000 0000 對應的10進製值為18944,且80對應的10進製為127 18...