的怪異輸出據我瞭解printf函數
int a=0;
printf("%d",a);
作品一樣
char *ptr="%d"
ptr指向%,然後PTR從%讀取整個字符串的4個字節從內存中讀取。
現在考慮下面的代碼
printf("%d"+1,a); //value of a=0
是相同
char *ptr="%d"
ptr+=1;
PTR現在指向d等從d字符串印刷現在
printf(1+"Alex"); //prints lex
ptr點l和打印字符串從那裏...
現在會發生什麼在以下情況?它似乎超出我的範圍。
printf("%",a);
printf("%%%%");
printf("%%d",a);
wHat i feel for printf(「%%%%」); 編譯器注意到第一個%超過了它......然後它注意到第二個%而不是格式說明符,所以它打印了它......現在它進入第三個%,並在它過去之後注意是否存在任何格式說明符,但它沒有注意到它.....所以4%被打印....我是誰? – user3126632 2014-09-27 05:32:27