c語言的問題

2022-06-09 14:01:43 字數 667 閱讀 4720

1樓:崔辰

a=p1==&m;意思為:

p1==&m若為真,值為1,賦給a,為假,值為0,賦給a.優先順序是按&,==,=從高到低,所以為右結合

很明顯p1==&m為假,所以值為0。

由於你定義的資料型別為整形,整形的數值取商只能得到整數商,凡是不足1的統統歸為0(即去尾法,不是四捨五入),(*p1)/(*p2)就是4/6,因為定義整形所以值為0,所以

b=0+7就等於7了

2樓:匿名使用者

a=p1==&m的意思是先判斷p1和&m的值是否相等,如果相等,表示表示式成立,所以a=1,這裡顯然是不相等的p1=4,&m=6,所以a=0

b=4/6+7的值是7

3樓:匿名使用者

a=p1==&m,這裡有=,==,&三個操作符,查下操作符優先順序表,可以知道優先順序是按&,==,=從高到低,所以語句執行順序是a=(p1==(&m));p1是指向k的指標,當然不等於&m,所以結果為假,即用0表示,所以a=0.

*p1即k的值,為4,*p2即m的值,為6,4/6是整型數之間的除法,只得到整數商,所以結果為0.,0+7=7.

4樓:汁汁嘴

p1==&m 是邏輯表示式,肯定是不對的

&m是個指標。p1是記憶體地址。所以為0

c語言問題,C語言問題C語言問題

沒有縮排,看來比較累 但是輸入一串字元以後要輸入結束標誌eof表示你的輸入結束了 如果你是unix,就用ctrl d,dos就用ctrl z include define maxline 1000 maximum input line length int getline char line,int...

c語言問題,C語言問題C語言問題

把檔案中所有逗號用空格替換。把if fp fopen goods.dat rb null 改成fp fopen goods.dat r null 把 feof fp 換成 0。把 一行刪除。以上3 4也可以在while前新增一行 解決 把printf s,2s,d,d n name,price,in...

c語言的問題,c語言問題?

include stdio.h int main int sum 0,i for i 2 i 100 i i 2 sum sum i return 0 include stdio.h include string.h int main char s1 6 char s2 6 int i printf...