c語言中 printf語法printfddc

2021-03-22 07:13:57 字數 6431 閱讀 1752

1樓:匿名使用者

前面是輸出a b c的值

,如果定義a b c都為int型,這樣輸出的就是a b c的值,而後者是輸出a b c的地址 一般是不會用後者的 後者的使用一般在scanf函式中,比如要輸入a 整形的數值 scanf("%d",&a);這個時候一定是&a 表示a的地址。望採納。

2樓:金色潛鳥

簡單說,前者是變數的值,後者是變數的地址。

這還同變數宣告有關。輸出格式要與它們匹配。

例如:char a,b,c;

a='x';b='y';c='z';

printf("%d %d %c\n",a,b,c); // a,b 用 十進位制輸出 'x' 'y' 的 ascii 編碼值,c 輸出 'z' 的字元 z.

輸出:120 121 z

帶&的 是 算出 它們的地址 &a,&b,&c 分別是 a,b,c 的地址。

對應的輸出格式 ,前兩個%d 還可以,按十進位制 輸出,後 一個 %c 就與&c不匹配了。

輸出地址,一般用 16 進位制,%p 格式:

例如輸出: 0012ff7c 0012ff78 0012ff74

3樓:

一般是都是這樣寫的:

printf("%d %d %c\n",a,b,c);

在printf中一變數前面是一般是不會加「&」的,&是取地址符,是取得該變數的地址,一般用在scanf函式中:

scanf("%d",&a) ;

printf("%d",a) ;

如果用在printf中則為輸出變數的地址。

4樓:

前一句是列印a,b,c的值,後一句是列印a,b,c的地址&為取地址操作

你知道這些變數都存在記憶體中的某個地址,這個地址裡面有一個資料,這個資料就是這個變數的值

變數的值和變數的地址,這是兩個概念

printf("a=%d,b=%d",a,b);和printf("%d,%d\n",a,b);的區別.

5樓:丹眼皮男生

一、格式化輸出的不同:printf("a=%d,b=%d",a,b)列印出e68a8462616964757a686964616f31333366306530來的是a="a的值",b="b的值",如果a和b的值分別為1、2,則列印到螢幕上的結果是a=1,b=2。printf("%d,%d\n",a,b)列印出來的只有a和b的值,如果a和b分別為1、2,則列印到螢幕上的結果是1,2。

這種結果的區別是格式化輸出的作用,在printf中雙引號裡面的內容按原樣輸出,而%後面帶一個字元是引號後面引數的格式化,代表用什麼樣的格式輸出後面的引數。

二、轉義字元的有無:printf("%d,%d\n",a,b)裡面有一個轉義字元\n,這個轉義字元的功能是換行,也就是說下一個輸出會在下一行,而printf("a=%d,b=%d",a,b)沒有這個轉義字元,所以它不會換行,下一個輸出直接接在上一個輸出的後面。

三、運算子的有無及作用:printf("a=%d,b=%d",a,b)裡面的=不是賦值,而是直接輸出一個=,printf("%d,%d\n",a,b)沒有=,所以沒有=的輸出。

6樓:gta小雞

百分號%表示佔位符,代表需要把一個資料填到對應的地方,百分號後面的字元說明了這種資料的型別。例如%d表示十進位制整型、%f表示浮點數、%s表示字串。

7樓:楓彩世代

printf函式雙引號內

來的內容除了%什麼是原自樣輸出bai的,所以你寫成什du麼都會輸出,你寫成等號是zhi想輸出時比較容易dao理解,知道是哪個變數的值,輸出是a=什麼,沒有的就直接輸出a的值了,你也可以寫成別的比如「a的值是:%d」,它也會輸出,主要你要理解這個函式的意義和用法。。。

8樓:匿名使用者

第一個輸出是為了讓輸出的格式更好看,更明確,a= 和b= 會照程式原樣輸出。

9樓:匿名使用者

只是顯示出來的zhi結果不太一樣。

dao例如,如果專a=10,b=20

那麼printf("%d %d\n",a,b);顯示的結果如屬下行10 20

printf("%d,%d\n",a,b);顯示的結果如下行10,20

printf("a=%d,b=%d",a,b);顯示的結果如下行a=10,b=20

就是在雙引號裡你寫了什麼,輸出時就顯示什麼,其中%d按先後順序,由a和b的實際值代替。

10樓:匿名使用者

printf會將第一個字串原樣輸出,只是將%d的地方替換成後面引數的值

\n表示輸出換行

11樓:

假如a=1,b=2

第一個在螢幕上輸出為:

a=1,b=2

第二個在螢幕上輸出為:

1,2%d是格式輸入輸出,代表輸入一個整數%c是代表一個字元

%s是代表字串

還有%x,%u等等

12樓:

int a = 0;

int b = 1;

第一個的輸出 a=0,b=1;

第二個的輸出 0,1;

13樓:

顯示結copy果是這樣的//、

printf("%d %d\n",a,b);

a bprintf("%d,%d\n",a,b);

a,bprintf("a=%d,b=%d",a,b);

a=?,b=?(?是a b的值)

這是一個輸出語句。。

重要顯示結果。。。

假如 #include

void main()

其結果為: 3 4

3,4a=3;b=4

c語言 printf("%d %c\n",a,b)和printf("%d,%c\n",a,b)

14樓:但凌媯捷

printf--輸出

a=%d,b=%d,c=%d----a,b,c輸出的型別是十進位制(%d)的數!

\n---

是指輸出完這些數後,要換行!

最後a,b,c---是輸出指定程式中對應的數..

15樓:刀智敏勢簡

中間是逗號和空格的區別

還有就是有沒有換行的區別。。。

16樓:勞蘭娜稱昶

%d表示將變數a按整數輸出

%c表示將變數b按字元輸出

這與變數a

b本身的型別無關。在-128到127之間,char與int

在數值上是一樣的,可以通用

在c語言中,printf("%d,%d\n%c,%c\n",a,b,a-32,b-32)這句中的 200

17樓:匿名使用者

printf("%d,%d\n%c,%c\n",a,b,a-32,b-32);表示:

以整數的形式輸出a,b的值(ascii碼)再換行,然後以字元的形式輸出a-32,b-32的值(即如果a、b是小寫字母,則輸出大寫字母)。一個小寫字母的ascii碼比它的大寫字母的ascii碼大32。可以給你簡單舉一例。

假設有char a='c',b='f';

則printf("%d,%d\n%c,%c\n",a,b,a-32,b-32);

輸出99,102

c,f其中99是字母c的ascii碼,102是字母f的ascii碼,將它們減去32後的差以字元形式(%c的格式)顯示,就變成了大寫字母。

c語言中,printf("%c,%c\n%d,%d\n",a,b,a,b); %c,%d是什麼意思

18樓:少年遊

資料輸出方式 %c輸出單個字元 %d輸出一個十進位制數字

先學好基礎知識,再多練習寫程式

19樓:匿名使用者

%c是輸出的型別為一個字元,%d輸出的型別為整形

20樓:江偉

%c輸出資料為字元

%d輸出資料為整數

21樓:人生

%c是輸出一個字元,%d是輸出一個int型別的數。

22樓:蝸牛也給勁

%c輸出字元, %d輸出一個十進位制整數。

23樓:機樂欣潘周

輸出,雙引號中除了格式符(%d)和回車符\n,其它字元原樣輸出,結果是

a=a的值,b=b的值,c=c的值

24樓:毋巨集勝田霓

printf--輸出

a=%d,b=%d,c=%d----a,b,c輸出的型別是十進位制(%d)的數!

\n---

是指輸出完這些數後,要換行!

最後a,b,c---是輸出指定程式中對應的數..

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

25樓:風翼殘念

%%是輸出%號。%是轉義符。%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以實型輸出。

26樓:會飛的小兔子

在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個位元組,並且也會造成處理資料錯誤。

27樓:匿名使用者

這裡是錯誤寫法。

%%表示轉義字元%。

所以這裡會輸出

a=%d,b=%d

與後續的a,b值無關。

28樓:雲畫的月光

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

29樓:匿名使用者

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

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

%%表示輸出%

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

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

c語言 main() { char a='1',b='2'; printf("%c",b++);printf("%d\n",b-a)} 結果是什麼?說明一下。

30樓:右傾的墮落主義

答案是:22

分析:char a='1'b='2'; //賦值,注意a b的型別為char

printf("%c",b++); //以字元型列印列印b後b才自加,所以是現打

//印出「2」後

//b的ascii碼值是50,自加後是51printf("%d\n",b-a) //這句是b的ascii碼值減去a的ascii碼值後

//以整型輸出,即51-49=2,所以輸出「2」

31樓:匿名使用者

輸出結果 22

main()

32樓:匿名使用者

22 第一個2是字元第二個2是數字

printf("%c",b++);先輸出b,再b++,b變成'3'了

printf("%d\n",b-a);b-a也就是'3'-'1'=2

c語言中scanf和printf都是輸出函式兩者有什麼區別呢

兩者完全不同,scanf是輸入函 數,printf是輸出函式,所以會經常同時出現。兩者也沒有可比性,需要弄清他們的概念。1.scanf 是c語言中的一個輸入函式。函式 scanf 是從標準輸入流stdio 標準輸入裝置,一般指向鍵盤 中讀內容的通用子程式,可以說明的格式讀入多個字元,並儲存在對應地址...

c語言中6d啥意思c語言printf中6d是什麼意思

佔的位數為6,不夠6位左邊補空格,輸出的是整形 6表示輸出列寬是6個字元,如果實際輸出的字元不足6個則用空格補充其餘的位置,如果實際輸出大於6個字元,則按實際寬度輸出,前面的負號表示在右邊補空格 如果沒有負號則表示在左面補空格 即 printf 6d 123 輸出的結果是 一個小數點表示一個空格 1...

c語言中作用C語言中作用

取決於在scanf中使用還是在printf中使用。在scanf中使用,則新增了 的部分會被忽略,不會被引數獲取。例如輸入為 12 abc那麼12將會讀取到變數a中,但是後面的abc將在讀取之後拋棄,不賦予任何變數 例如這裡的字元陣列b 在printf中使用,表示用後面的形參替代的位置,實現動態格式輸...