1樓:匿名使用者
指標p指向結構體s的首地址;
unsigned 型別的變數在記憶體中佔2個位元組,即16個bit;
s.b1=10;//0x000a
s.b2=6;// 0x0006
s.b3=5;//0x0005
s.b4=0xaa;
s.b5=0x8;
s.b6=0x15b;
unsigned b1:4; b1強制佔4bit;會造成資料丟失
即在記憶體中b1為1010
b2為110
b3為00101
unsigned :0; 佔0bit
b4為10101010
b5為1000
unsigned :4; 佔4bit 0000
b6為000101011011
利用指標p按十六進位制輸出時
由於p是佔2個位元組的指標變數,所以我想應該會按16個bit的資料輸出;
這裡應該會跟unsigned :0; 佔0bit 和unsigned :4; 佔4bit 0000有關 ,
*p取16位bit的資料,到unsigned :0為止,即001011101010(0x2ea)輸出2ea;
*(p+1)取16位bit的資料,到unsigned :4為止,即100010101010(0x8aa)輸出8aa
*(p+2) 取16位bit的資料,即0000000101011011(0x015b)輸出15b
你可以嘗試改變變數所佔的bit數,列印出它的值研究一下
改為16bit的話 就正常了
2樓:匿名使用者
///不妨這樣改一下.
#include"stdio.h"
void main()
s;unsigned *p=(unsigned *)&s;
s.b1=10;
s.b2=6;
s.b3=5;
s.b4=0xaa;
s.b5=0x8;
s.b6=0x15b;
printf("%x\n",*p);
printf("%x\n",*(p+1));
printf("%x\n",*(p+2));
printf("%x %x %x\n",s.b1,s.b3,s.b5);
}//我的結果是 用的是vc/*a
65a 5 8*/
c語言程式設計(寵物結賬管理程式)(只是簡單的表面程式),希望大家幫幫忙,用簡單的方法寫出來。 50
3樓:
這個系統做出來了嗎
沒做出來的話我來help 你
4樓:wo是隻小菜鳥
你qq是多少,我加你,幫你寫寫。
關於c語言程式設計問題。乘0.5和除2。怎麼結果不一樣。大家幫忙看看。
5樓:匿名使用者
型別問題。c語言的整型 int 資料的算術運算結果還是整型,2是整型值,除2的結果還是整型(結果的小數部分被丟掉了),乘0.5就變成浮點型了。
要得到正確的結果可將除2改成除 2.0
6樓:匿名使用者
你定義的都是整型變數,*0.5就變成浮點數運算啦
/2的話還是按整型來運算,就像是1/2結果是0,浮點運算的話1/2.0就變成了0.5
7樓:匿名使用者
if((4*x+3*y+(36-x-y)/2) == 36)
兩個整型量相除,最後取整數部分;
8樓:軒轅詩語
因為你的x,y都是整形int,乘以0.5以後的結果系統自動只保留整數部分,所以不同
c語言程式設計:計算100!要求是精確值。 大家幫幫忙了!
9樓:匿名使用者
你先看下這個
#include
int main()
; //初始化,陣列從1開始記數
int num; //階乘大小int digit=1; //每次階乘得出結果的位數
scanf("%d",&num); //輸入你要計算的階乘值
for(int i=1;i<=num;i++)for(int j=1;j<=digit;j++)//調整個元素的值,使之在0--9之間
data[k+1]+=data[k]/10;//調整data[k]%=10;}}
}}printf("%d!=",num);
for(int j=digit;j>0;j--)printf("\n");
return 0;}
10樓:匿名使用者
估計需要大整數了~~ 不過我記得有人用4行**就實現了 google 一下吧 咱們計算機專業的遇到問題要上google 然後再來發帖子~~
猜數字c語言程式設計怎麼做,大家幫幫忙~謝謝
c語言程序設計的題目,C語言程式設計的題目
a錯,因為a陣列初始化時用了雙引號,所以a中儲存了一個字串,即a陣列中有7個元素,除了這些字母之外,還有一個 0 b錯,參考a c錯,a陣列初始化時用雙引號,所以a中儲存了一個字串,b陣列中將儲存了6個字元.d對,參考a 只能選擇d,對於a 它等於 最後的 0很重要,對於b來說,他沒有封尾,沒 0,...
有關C語言的小問題,C語言報錯的問題?
line 69 函式showarr,parr是指向結構體的指標,你這裡要訪問的應該是它的成員陣列parr pbase void showarr struct arr parr ps1 這個問題在編譯階段通常會有警告的,因為printf格式符 d是整數,你給的parr i 跟它是不匹配的,會引起 fo...
有關大一C語言程式設計問題,有關大一C語言程式設計問題?
include include int findnumber char s int num 0 while s if s 0 s 9 num s return num int findspace char s int num 0 while s if s num s return num int m...