c語言printfddnxyy是什麼意思

2021-03-07 12:53:30 字數 4768 閱讀 3039

1樓:軟體

是會不一樣,我老師講過有的,編譯程式是從左到右讀的,有的是從右到左讀的!比如y=x++;有的是是從右邊開始的,先自加然後賦給y;有的是先賦值,x再自加;

(++x,y)是個逗號語句,只執行逗號後面的,所以 printf("%d,%d\n",(++x,y),y++);這句話等價於: printf("%d,%d\n",y,y++);

2樓:匿名使用者

printf("%d,%d\n",(++x,y),y++); 先輸入y在輸出y++ ,(++x,y)逗號運算返回最後一個即y

不同編譯器,對於運算順序沒有統一,有點先y++,在(++x,y),有的相反。

3樓:匿名使用者

++x先自加後賦值,x++先賦值後自加,y也是同理。所以x最後的值應該是12.但(++x,y)是逗號表示式最後執行的是逗號後面的語句,也就是第一個輸出是y的值。

所以兩個輸出的都是y的值。y雖然自加但是屬先賦值後自加。y++的值仍為10。

(vc編譯環境)

在tc環境下,我也不太清楚,好像是先執行y++,再執行(++x,y)吧,如果是這樣的話,結果應該是11,10

4樓:

printf("%d,%d\n",(++x,y),y++);(++x,y)這裡應該是一個逗號運算子吧,他把最右值作為結果輸出~!

5樓:匿名使用者

樓主不必太計較這些玩意,不同的編譯器會有不同的解釋方式,何必在這上面花功夫呢!只要懂得其大意即可

6樓:匿名使用者

以十進位制輸出。

printf()是輸出函式, %d表示是以十進位制

c語言中是什麼意思printf("%d%d\n",(++x,y++),z+2);

7樓:

(++x,y++) 這叫逗號表達

式,裡面含2個表示式,表示式的最終值用最後一個表示式的結果。

假定 int x=10,y=1,z=1;

++x 字首加,x 變 11

y++ 字尾加, y 現在不變化,等退出這句再增 1,所以 y=1;

逗號表示式的最終值 用最後一個表示式的結果, 就是 1。

printf("%d 打出的第一個結果值是 1printf("%d%d\n",(++x,y++),z+2);

打出的第2個結果是 z+2,等於 3。

8樓:匿名使用者

++x是先+,在返回x的值,也就是說這時的x已經加過1了

而y++,則是先返回y,在進行運算

c語言printf("%d\n,x

9樓:匿名使用者

寫錯了吧。。應該是 printf("%d\n",x

就是輸出 x

10樓:匿名使用者

輸出一個字串;%d會輸出一個整數,後面沒有加其他引數的話會輸出0,然後\n是換行,再下一行輸出「,x

11樓:草叢裡的落葉

比較大小,然後輸出結果:x

12樓:apple林

如果是printf("%d\n,x,那麼會直接輸出括號裡面除了轉義符的部分,即x結果是x,y中的一個;x目運算,即如果x

13樓:匿名使用者

如果x

這是一種表判斷的三目運算子

14樓:匿名使用者

引號內如果 不是轉義字元都 照原樣輸出

15樓:放yang娃

一樓加二樓的就完美了。其實這些你可以在編譯器上試試的,一試就知道了。

c語言中printf("%d\\n", y=x/y)是什麼意思

16樓:微星

輸出的y值是除後的。但是你這個輸出也許是有問題的。如果x/y是float或者double型別,這種輸出只能保證x/y是整位的。

比如3/2輸出的是1.而不是1.5.

要使用%f或者%lf.

17樓:匿名使用者

它輸出的y=x/y,當然是除後的啦。

18樓:匿名使用者

輸出y 然後 y=x/y

19樓:塞一瑾和茗

你好c語言中%是求餘的意思

x%=(y%=2)

就是:x=x%((y=y%2))

就是先求y%2的值

並將y%2的結果賦值給y

然後求x%y(這裡的y是賦值後的y)的值

並將x%y的值賦給x

printf("%d",x%=(y%=2))最終就是顯示賦值後的x的值

希望能幫助你哈

c 語言printf("\\\n")是什麼意思

20樓:匿名使用者

\是轉義符 ,把後面緊跟的物件以符號格式輸出

\\兩個就是把 \以符號的形式輸出來

在c語言中 printf("a=%%d,b=%%d\n",a,b);裡的%%d是什麼意思? 20

21樓:風翼殘念

%%是輸出%號。%是轉義符。%d 輸出整型。

%nd 輸出的整型寬度至少為n位,右對齊,]即寬度至少為5位,位數大於5則輸出實際位數,%0nd 用得比較多,表示輸出的整型寬度至少為n位,不足n位用0填充。

c語言中%有兩種意思,第一表示求餘符號,經常會用到判斷一個數是不是能被另一個整除。

如:7%3=1(7除以3,餘下1,) 1%3=1(1除以3除不盡,餘下1);

如判斷一個m是奇數還是偶數?**如下:if(m%2==0) print f("偶數")。

2、引導符,用於引導輸入輸出項表列的格式。

例如:print f("%d%c%f",a,b,c);意思就是a以整型輸出,b以字元型輸出,c以實型輸出。

22樓:會飛的小兔子

在c語言中printf("a=%%d,b=%%d\n",a,b);裡的%%d是程式輸出結果。

%d是表示後面的變數b的值用整數形式顯示。

後面的兩個%,表示顯示一個%。

如果b的值是20,則輸出是「20%」。

如果要輸出整數a,b的值,應改為printf("a=%d,b=%d\n",a,b)。

擴充套件資料

printf格式控制符處理引數

printf有很多格式控制符,例如%d,它在處理輸入時,會從堆疊中取其對應大小,即4個位元組作為對應的引數值。也就是說,當傳入引數和格式控制符匹配或者在經過型別提升後和格式控制符匹配的時候,引數處理是沒有任何問題的。

但是不匹配時,可能會出現未定義行為。例如,%f期望一個double(8位元組)型別,但是傳入的引數是int(4位元組),那麼在處理這個int引數值,可能會多處理4個位元組,並且也會造成處理資料錯誤。

23樓:匿名使用者

這裡是錯誤寫法。

%%表示轉義字元%。

所以這裡會輸出

a=%d,b=%d

與後續的a,b值無關。

24樓:雲畫的月光

%%就是輸出字元%,後面的d就只是字串,不再是格式宣告,所以,後面的a,b就輸不出來。如果想輸出%,應該是%%%d或者%d%%

25樓:匿名使用者

輸出結果是:a=%1,b=%d

其中的1是你上面的a的賦值,比如1.

%%表示輸出%

%d表示輸出一個有符號的十進位制數

%%%d 你應該把兩個分開理解%%和%d

c語言程式設計裡printf("%d\n",(x,y));是什麼意思

26樓:狼戰

(x,y)括號中是一個逗號表示式,逗號表示式的值是其最後一部分的值

c語言程式設計裡printf("%d\n",(x,y));是什麼意思 20

27樓:

確定寫的正確嗎?

c語言程式設計裡printf是輸出指令,%d是按照十進位制整數形式輸出,後面的\n表示換行,但是後面的(x,y)有問題的,你再檢查下

28樓:弗弗羅戈

(x,y)是一個表示式,這行**的意思是列印這個表示式的值

c語言printf("%d\n,x

29樓:天雨下凡

語句是錯的,右襲邊的雙引號位置錯bai誤,du應該是:

printf("%d\n",x思,當xzhi真時dao,則結果為y的值,否則為x的值,也就是返回x與y之間的較大的值

"%d"表示以int形式輸出。

30樓:草叢裡的落葉

比較大小,然後輸出結果:x

31樓:匿名使用者

輸出一個字串;%d會輸出一個整數,後面沒有加其他引數的話會輸出0,然後\n是換行,再下一行輸出「,x

C語言程式設計,c語言程式設計。

判斷 字串 s是否和 相等 strcmp s,表示s字元陣列是否是等於號加上字串結束符,其實單單比較是否為等於號 改為 c語言程式設計 int mian 應該是int main 你要輸入一個數才行,建議你加一個提示輸入的語句 c語言程式設計。else 非字母 switch read buf brea...

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

include include int main max min i 0 sum i 0 i 1 i 2 i 3 i 4 i 5 i 6 for j 0 j 6 j printf 去掉一個最高分 0.6lf max printf 去掉一個最低分 0.6lf n min printf 該選手最後的得分...

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

char的範圍是 128 127的 你362就溢位了嘛 是這樣的 0362 0是表示8進位制 於是362在10進位制下是242 242溢位了 128 127 於是結果變成242 128 128 14 要明白這個,首先要明白記憶體中 c 變數是什麼樣子的。整數在記憶體中是以補碼的形式存取的。c 036...