亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

printf()引號的問題

例如:printf(”…………“,…………);

???????? printf("……………",'………‘);雙引號后面的單引號什么情況下要用?? 雙引號后面什么時候需要取地址符?

正在回答

2 回答

首先,你要知道單引號代表什么意思,在c語言中,單引號只代表字符常量,如‘A’,‘B’,而取地址符顯而易見,就是取地址的意思。然后,你要知道printf函數的格式非常嚴格,前后一定要一一對應,否則就算編譯通過也會有安全性問題。如果在雙引號中有%c的解釋,后面則一定要跟可以被解釋字符變量或字符常量,像這樣:

printf(“%c”,'A');

或者printf("%c",a); ? ? 其中a為之前定義的char型數據。

對于取地址類似,%p可以輸出地址,所以當雙引號中有%p時,后面一定要有被%p解釋的項,如:

printf("%p",&a); ? ? ? ? ? ? ? 其中a為非指針類型的數據

或者 printf("%p",p); ? ? ? ? ? ? 其中p為指針類型。

這樣說明白了嗎?

0 回復 有任何疑惑可以回復我~
#1

qq_朱衛東_0 提問者

非常感謝!
2015-11-18 回復 有任何疑惑可以回復我~
#2

qq_朱衛東_0 提問者

1:?printf(“%d”,'A');如果是這樣的話,輸出結果就是A對應的ASCII碼65? 2:printf(“%c”,'A');如果A沒有單引號,那么在輸出之前必須先定義?
2015-11-18 回復 有任何疑惑可以回復我~

你所說的兩條都是對的,char 和int 型可以任意被 %c 和 %d 解釋,解釋結果對應各自的ASCII碼 和 char 數據,但是在使用時要小心,別出錯。另外,初學者容易搞不清楚字符常量和字符型變量的不同,如‘a’和 a,或者‘0’和 0 ,這要在代碼中多去體會,凡是被單引號引起來的,都是指ASCII碼表中的字符,但如果是a,就是一個我們定義的標識符,計算機看來,a 和 b 和a1,b1沒有什么兩樣 ,這都要我們定義的。

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

printf()引號的問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號