c語言求助

時間 2022-07-22 00:50:05

1樓:富天御

首先先宣告一下,你的第乙個答案應該是

2 22 2

進過驗證的哦!

然後就是運算順序的問題,單目運算子結合方向是從右向左的!但是*p++,雖然是先++,但是別忘記了後++是必須要在本命令結束之後才運算的,所以,*p++應該是取出p中的值,然後指標p後移!懂了嗎,不懂繼續問吧,就喜歡c的問題!

2樓:樂酷科技

#include

#include

main()

的結果是

不知道你上機試了沒有 我執行的結果是2 22 2printf("%d %d\n",*p++,*(q++));

這一句 都是p,q先自加 但是由於是p++所以先取出當前位置位址的值也就是說都是2 ,然後指標指向該位址的下面乙個位址 所以是兩個2

p=&a;q=&a;

printf("%d %d\n",*p,(*q)++);

這裡由於又重新把a的位址給他們 所以*p,(*q)++的值都是2 所以輸出應該是2 22 2

3樓:o默化

第乙個 裡面輸出*p++是先輸出在自加的

第二個裡面的第乙個*p++是一樣的

第二個因為又賦值 為2所以輸出是2

c語言!!求助,C語言求助!!!

沒什麼問題,兩題給出的答案都是正確的。第2題 後面按c語言要求帶上規定的字元或數字,構成轉義字元,因此要想將 賦給字元變數ch,需要定義為 ch 而不是ch 選項a是錯誤的。其餘選項都是正確的。選a第9題 011表示八進位制數,轉為十進位制數是9,執行printf語句,a,是a先自增1 9 1 10...

C語言求助,c語言求助?

我寫了個沒有case的版本 如果是acm的題目,那麼把有關提示的printf語句去掉即可,輸入輸出格式已嚴格控制 include int main char str1 up 11 char str2 11 char str2 up 11 while 1 flag up 1 if n if n 0 i...

C語言求助,C語言問題,求助

孫毅超 二進位制數在計算機記憶體儲的是其補碼 對於有符號數,正數的補碼和本身一樣,負數的補碼是本身的數字位取反後加1 比如 1 0001 補 0001 1 1001 補 1111 計算機儲存 1就是儲存的1111 而int是兩個位元組的,也就是16位的二進位制,因此65535也就是111111111...