的怪异输出据我了解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