c語言k
1. c語言k!=i是什麼意思
變數k中保存的數值不等於變數i中數值時得到結果真,否則假
2. C語言中**k是什麼意思
k是一個指針,這句話的意思是k指向的地址中存放的變數值等於2,k=k*2;//將k乘以2並將結果賦值給k這個變數。
舉例:如果a=2,k=&a,則執行*k+=2後,a=4,相當於執行了a=a+2。
k*=2等價於k=k*2;
k-=2k=k-2
k+=2k=k+2
k/=2k=k/2
k%=2k=k%2
(2)c語言k擴展閱讀
C語言「->」運算符
C語言代碼定義了結構體S,成員a代表0偏移,而成員b則代表2位元組偏移(這里假設int變數佔用2位元組內存,也不考慮內存對齊)。
代碼定義了結構體X,它也包含成員a,它的名字與結構體S中的成員a重復了,但是沒有問題,因為它們都代表0偏移。因為結構體Y中的成員a與結構體S中的成員a重名,並且代表的位元組偏移量也不相等。
3. 在c語言中,!k表示什麼意思呢
c語言中k+=n+1的意思是k=k+(n+1),即將n+1的計算結果加上k之後重新賦值給k,該形式是k=k+(n+1)的簡寫形式。
這種形式還有很多種運算類型,如-=、*=、/=、%=等,其展開規則與+=類似,如k-=n+1的展開後即為k=k-(n+1),其他類似。
這里需要注意的是,右側的計算結果參與運算,如k-=n+1,不能看作是k=k-n+1,需要將右側的表達式加括弧,即k=k-(n+1)。
4. C語言中k*=j是什麼意思
你說的是這個么:
k= --j;等價於j=j-1,之後再把j的值賦給k;
列:main()
{int j=6,k;
printf("%d\n",k=--j);
}
輸出5
(其實這里考到了自加與賦值運算以及他們的優先順序
優先順序:自加運算符>賦值運算符。
5. 計算機C語言中,K++與-k++有什麼區別
K++ 和 -K++ 只是數值符號有區別,++操作在這里是一樣的。
不過++操作有個特別的地方需要注意,放在變數前後的效果是有點不同,特別用在表達式裡面的時候。
k++ 和 ++k 不一樣,看下面的例子:
int i=4;
printf("\ni=%d\n", i);
printf("\n4-i++=%d\n", 4-i++);
printf("\ni=%d\n", i);
i=4;
printf("\ni=%d\n", i);
printf("\n4-++i=%d", 4-++i);
printf("\ni=%d\n", i);
i=4;
printf("\ni=%d\n", i);
printf("\n-i++=%d\n", -i++);
printf("\ni=%d\n", i);
i=4;
printf("\ni=%d\n", i);
printf("\n-++i=%d\n", -++i);
printf("\ni=%d\n", i);
-------------------------------------------------------------------
輸出結果是:
i=4
4-i++=0
i=5
-------------------
i=4
4-++i=-1
i=5
-------------------
i=4
-i++=-4
i=5
-------------------
i=4
-++i=-5
i=5
也就是說,當用在表達式裡面的時候,++在前和在後的運算次序是不一樣的,
++在前則先對變數+1,然後再參與表達式的運算;++在後則先參與表達式運算,然後才對變數+1。
對於初學者,或者專家也好,不建議使用太復雜的表達式,代碼的可讀性也非常重要。
復雜的表達式並不會生成更快的編譯代碼,反而會使別人或自己看不懂代碼表達的意思,
想想一年或幾年後,你自己再來看這些代碼還看得明白嗎?
6. c語言中k=a<=b啥意思
=:賦值運算符。
<=:關系運算符,表示小於等於。
優先順序,<=運算符高於=運算符。
所以,k = a<=b;是將a<=b表達式的結果賦值給變數k,對於關系表達式,始終有一個值,這個值要麼是0要麼是1,因此k的值不是0,即是1。
7. C語言 K++什麼意思
k+=3 就是 k=k+3的意思
c的值是'b',那麼進入switch語句時為第二條case語句,執行k+=2,此時k=6,由於沒有break語句,即不跳出switch,那麼繼續執行第三條case語句,此時k=7,輸出結果,完畢!
8. C語言中,-k++怎麼算。。
a=-k++ 相當於a=-(k++)
當k=1時時 -(k++)=-1, k=k+1=2,
所以a=-1,k=2,b=2
結果為2,-1,2
負號-和++ 都是單目運算符,具有右結合性。