本文目錄一覽:
C語言中a=’E’,那a的值是多少
看題的意思應該是
union{
int k;
char i[2];
}*s,a;
s=a;
s-i[0]=0x39;
s-i[1]=0x38;
printf(“%x\n”,s-k);
這樣吧?應該是考核共用體的,不是結構體。
如果int是4位元組的話列印出來應該是0xcccc3839.看樣子應該是VC平台。
共用體里裡面定義的成員共用相同的存儲空間,空間大小按照成員中最大的空間分配。
所以k和i[2]共用一塊4位元組內存,Win32下低位元組在前,所以在內存順序是
k0 k1 k2 k3,但這4個位元組又與i[2]共用,即k0與i[0]共用,k1與i[1]共用,
所以i[0]=0x39,i[1]=0x38後同時給k0,k1賦值了。
由於VC調試態下默認將內存空間初始化為0xcc/0xcd,所以會k2=0xcc,k3=0xcc
列印出來k就是k3 k2 k1 k0 就是0xcccc3839了
求解c語言裡面a的值
這個首先要注意
+=
-=
*=
是從右向左算的
所以先算
a*=a ,
a自身乘以a
所以
a變成100
a-=100
注意a已經變成100了,所以a變成0
a+=0
結果還是0
C語言程序中” a”代表什麼數據
” a”代表的是字元串。。。char s[] = “a”;
‘a’代表的就是一個字元了。。。char c = ‘a’
希望對你有幫助。。。。。仍有問題可以HI我。。。
a在c語言中是什麼意思?
它沒有特別的含義,就是一個普通的變數名或者是一個字元常量。
變數可以通過變數名訪問。在指令式語言中,變數通常是可變的;但在純函數式語言(如Haskell)中,變數可能是不可變的。在c語言裡面a就是個變數。
注意
a-=a的意思為a=a-a,先用a減a,然後再將得到的結果賦值給a。-=實際上是一種縮寫形式,使得對變數的改變更為簡潔。
運算時,可以將其寫成熟悉的形式,從右向左依次計算,注意在每次計算時,變數的值會發生改變, 如不注意,就會導致錯誤的情況發生。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/254438.html