C C 中printf cout輸出順序

2021-06-22 22:55:50 字數 777 閱讀 5792

**:

printf()輸出表示式的運算順序是由右向左的,不同的編譯系統不一定相同,可以從左到右, 也可從右到左。turbo c,vc++6.0都是按從右到左進行的。

寫出程式的輸出結果:

#include

void main()

用vc++6.0環境執行,輸出結果為:9,10,9,10,對於這個結果我很納悶,為什麼j=10?

原來問題出在n=j++,這個語句相當於:n=j,j=j+1;也就是說程式在本條輸出語句結束以後,才計算j=j+1。於是在程式中增加了一行輸出j的語句:printf("j=%d",j);果然,輸出了j=11。

注意:求值順序是自右至左;

輸出順序還是從左至右.

cout輸出順序:

**:

#include using namespace std; 

int a=0;

int fun1( )

; int *ptr=arr;

*(ptr++)+=123;

//printf("%d%d\n",*ptr,*(++ptr));

cout<<*ptr《輸出結果為:7   7    8

若輸出為:

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

輸出結果:8  8
若輸出為:
cout<<*ptr<<*(ptr++)<

C C 中的輸入輸出

1.scanf與getchar 一般情況下,比如在沒有格式控制符的情況下,scanf是不能清除緩衝區的內容也就是說當遇到enter,space,tab鍵結束的時候,這3個鍵會放到緩衝區中。同樣,getchar也不能吃掉緩衝區中的內容,但是一般在有些程式用getchar做讀入字元來暫停程式,不過如果之...

C C 輸出間隔控制

c 使用setw int n 來控制他後面的變數的輸出佔多少個位置。預設是右對齊。例子 include using namespace std include using std setw setw int n 用來控制輸出間隔。cout s element value 0 100 1 101 2 ...

cc 漢字的輸出

include using namespace std include include include system函式所需標頭檔案 define stoptimelong 500 sleep函式以毫秒為單位,sleep 500 表示停半秒 pragma warning disable 4996 中...